C++序列式容器(STL序列式容器)是 C++ STL(標(biāo)準(zhǔn)模板庫(kù))中的容器類,用于存儲(chǔ)有序的數(shù)據(jù)序列,其中每個(gè)元素都可以通過其在序列中的位置進(jìn)行訪問,同時(shí)支持隨機(jī)訪問、迭代器等一系列通用的操作。
在 C++ STL 中,序列式容器包括以下幾種:
vector:Vector 是一個(gè)可變大小的序列,底層使用動(dòng)態(tài)數(shù)組實(shí)現(xiàn),支持高效的隨機(jī)訪問和在末尾插入、刪除元素。在進(jìn)行大量隨機(jī)訪問時(shí)表現(xiàn)良好,但在較多插入和刪除操作時(shí)性能較差。
deque:Deque 是一個(gè)雙向隊(duì)列,底層使用連續(xù)的存儲(chǔ)塊(chunk)實(shí)現(xiàn),支持在兩端插入、刪除元素,也可以進(jìn)行隨機(jī)訪問。Deque 相比于 vector 具有更好的隨機(jī)插入和刪除性能,但在進(jìn)行隨機(jī)訪問時(shí)性能略遜于 vector。
list:List 是一個(gè)鏈表,底層采用雙向鏈表實(shí)現(xiàn),支持高效的插入和刪除操作,但不支持隨機(jī)訪問。插入和刪除操作的效率比 vector 和 deque 高,但是迭代器性能較差。
forward_list:?jiǎn)蜗蜴湵恚c list 的區(qū)別在于它是單向的。
array:Array 是一個(gè)固定大小的數(shù)組,與 vector 相似,但一旦創(chuàng)建大小就不能改變。數(shù)組是內(nèi)存中分配空間最直接和最有效的方法,支持高效的隨機(jī)訪問。
這些序列式容器都是基于 STL 中的迭代器實(shí)現(xiàn)的,在使用時(shí)可以通過迭代器來訪問容器中的元素,并支持對(duì)元素進(jìn)行增、刪、改、查等一系列操作,方便快捷地處理各種有序數(shù)據(jù)。