[英]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.