forward_list容器
forward_list
forward_list(單向鏈表)序列容器,允許在序列中任何地方進行恒定的時間插入和擦除操作。
forward_list(單向鏈表)被實現為單鏈表; 單鏈表可以將它們包含的每個元素存儲在不同和不相關的存儲位置中。通過關聯到序列中下一個元素的鏈接的每個元素來保留排序。forward_list容器和列表
之間的主要設計區別容器是第一個內部只保留一個到下一個元素的鏈接,而后者每個元素保留兩個鏈接:一個指向下一個元素,一個指向前一個元素,允許在兩個方向上有效的迭代,但是每個元素消耗額外的存儲空間并且插入和移除元件的時間開銷略高。因此,forward_list對象比列表對象更有效率,盡管它們只能向前迭代。
與其他基本的標準序列容器(array,vector和deque),forward_list通常在插入,提取和移動容器內任何位置的元素方面效果更好,因此也適用于密集使用這些元素的算法,如排序算法。
的主要缺點修飾符Modifiers S和列表相比這些其它序列容器s是說,他們缺乏可以通過位置的元素的直接訪問; 例如,要訪問forward_list中的第六個元素,必須從開始位置迭代到該位置,這需要在這些位置之間的線性時間。它們還消耗一些額外的內存來保持與每個元素相關聯的鏈接信息(這可能是大型小元素列表的重要因素)。
該修飾符Modifiersclass模板的設計考慮到效率:按照設計,它與簡單的手寫C型單鏈表一樣高效,實際上是唯一的標準容器,為了效率的考慮故意缺少尺寸成員函數:由于其性質作為一個鏈表,具有一個需要一定時間的大小的成員將需要它保持一個內部計數器的大小(如列表所示)。這會消耗一些
總結
以上是生活随笔為你收集整理的forward_list容器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建行卡单向冻结什么意思
- 下一篇: tuple容器