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