[問題] vector 的存取為何能達到O(1)?
大一生弱弱的問一下
我原本以為 vector 的作法類似 linked list 不過我最近在Wiki上看到vector的存
取是O(1)
但是 vector 不是動態記憶體嗎 陣列因為是連續的記憶體所以可以馬上知道位置
vector 的記憶體應該是分散的吧 那它的存取為什麼可以是 O(1)呢
我找到介紹 vector 的文章幾乎都只提說 vector 支援隨機存取 並沒有提到如何達成的
請問它是用了什麼方法才能隨機存取呢
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.59.150
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1490169329.A.7B9.html
→
03/22 15:57, , 1F
03/22 15:57, 1F
推
03/22 15:57, , 2F
03/22 15:57, 2F
→
03/22 16:00, , 3F
03/22 16:00, 3F
→
03/22 16:04, , 4F
03/22 16:04, 4F
推
03/22 16:06, , 5F
03/22 16:06, 5F
→
03/22 16:09, , 6F
03/22 16:09, 6F
推
03/24 23:25, , 7F
03/24 23:25, 7F
推
03/24 23:49, , 8F
03/24 23:49, 8F
→
03/24 23:49, , 9F
03/24 23:49, 9F
→
03/24 23:50, , 10F
03/24 23:50, 10F
→
03/24 23:51, , 11F
03/24 23:51, 11F