簡體   English   中英

使用雙鏈表實現std :: stack嗎?

[英]Is std::stack implemented using a double linked list?

我曾經有一位教授告訴我, std::stack通常是使用雙鏈表實現的,如果您只需要訪問頂部,這將是多余的。

他的結論是,使用std::vector或單個鏈表實現的用戶定義堆棧結構將節省內存空間。

無論哪種方式,我都可能仍然使用STL版本(不浪費能源),但是std::stack真的會那樣浪費內存嗎?

std::stack容器適配器 該實現使用定義為模板參數的另一種容器類型進行存儲。

默認情況下,它使用std::deque ,雖然可以使用std::list ,但它並非完全是雙鏈表。

通過使用std::vector進行備份可以節省少量內存,而這可能會降低性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM