網易云課堂(Boolan)C++ 第七周筆記

list

列表順序容器允許常數時間任意位置插入和刪除操作的序列,在兩個方向和迭代。

列表容器實現為雙鏈接列表;雙鏈表可以將它們包含的每個元素存儲在不同的存儲位置無關。定保存由協會內部的每個元素的鏈接元素前,后鏈接元素。

他們非常相似forward_list的主要區別在于,forward_list對象是單鍵列表,因此他們只能向前迭代,以換取被有些較小的和更有效的。

相對于其他基礎標準序列容器(數組,向量和雙端隊列),列出了執行通常在插入、提取和移動元素在任何位置的容器的迭代器已經獲得,因此也在集約利用這些算法,排序算法。

列表和的主要缺點forward_list年代相比其他序列容器是他們缺乏直接訪問元素的位置;例如,訪問第六元素在一個列表,一個迭代從一個已知的位置(如開頭或結尾)位置,以線性時間在這些之間的距離。他們也使用一些額外的內存來保持連接信息關聯到每個元素(可能是一個重要因素對于大型小型列表元素)。

操作 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?效果

begin() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指向第一個元素

end() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指向最后一個元素

push_back(*p) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在尾部插入一個元素*p

push_front(*p) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在頭部插入一個元素*p ? ? ? ? ? ? ? ? ? ? ??

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容