list
列表順序容器允許常數(shù)時間任意位置插入和刪除操作的序列,在兩個方向和迭代。
列表容器實現(xiàn)為雙鏈接列表;雙鏈表可以將它們包含的每個元素存儲在不同的存儲位置無關尼酿。定保存由協(xié)會內部的每個元素的鏈接元素前,后鏈接元素拾积。
他們非常相似forward_list的主要區(qū)別在于,forward_list對象是單鍵列表,因此他們只能向前迭代,以換取被有些較小的和更有效的殉挽。
相對于其他基礎標準序列容器(數(shù)組,向量和雙端隊列),列出了執(zhí)行通常在插入、提取和移動元素在任何位置的容器的迭代器已經獲得,因此也在集約利用這些算法,排序算法殷勘。
列表和的主要缺點forward_list年代相比其他序列容器是他們缺乏直接訪問元素的位置;例如,訪問第六元素在一個列表,一個迭代從一個已知的位置(如開頭或結尾)位置,以線性時間在這些之間的距離此再。他們也使用一些額外的內存來保持連接信息關聯(lián)到每個元素(可能是一個重要因素對于大型小型列表元素)。
操作 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?效果
begin() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指向第一個元素
end() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 指向最后一個元素
push_back(*p) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在尾部插入一個元素*p
push_front(*p) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在頭部插入一個元素*p ? ? ? ? ? ? ? ? ? ? ??