雙向隊(duì)列 顧名思義 就是在前后都可以添加刪除的隊(duì)列。
一直以為 這個是由list來實(shí)現(xiàn)的 因?yàn)楦杏X一個簡單的adapter就可以了
閑來無聊 看stl得代碼 發(fā)現(xiàn)原來它的實(shí)現(xiàn)有點(diǎn)復(fù)雜
他有個vector存索引,這個索引里面存的是地址
地址指向了一段內(nèi)存
這段內(nèi)存又是一個vector, 而他的元素才是 value_type
感覺不是很好懂 或者我說的太亂了
vector<T*> index;
然后
index的每段里面 是一個
vector<T> real_index;
但是 index并不從第一個元素就啟用而是從中間開始 這樣子可以在前面加數(shù)據(jù)
很奇怪的實(shí)現(xiàn)
為什么不用雙向的鏈表呢??
誰可以幫我回答下 謝謝 呵呵

