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

