C++中,<queue>中
佇列出隊之后,會不會自動將元素前移?出去的不就空著了嗎。。
uj5u.com熱心網友回復:
這就看你想怎么實作佇列了,如果用陣列來實作,確實需要移動,但是這樣的實作,你不覺得低效嗎?如果佇列很長,元素太多,移動豈不是很消耗時間?所以,可以采用雙向鏈表,一個頭指標,一個尾指標,入隊直接把新節點追加在尾指標后面,出隊直接洗掉頭指標節點,并將頭指標指向下一個節點,這樣就不需要移動元素。
uj5u.com熱心網友回復:
queue默認是deque的容器配接器,deque是小塊記憶體的鏈接,小塊記憶體內可能會移動元素,但每次移動的元素不多。queue物件可以申明為使用list作為容器,list是雙端串列,是元素的鏈接,就不會移動元素了。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/159423.html
標籤:C++ 語言
上一篇:好的異步模式庫
下一篇:想問一下這個程式為什么無法運行
