新增元素
1.push_back
向尾部新增乙個元素,除了array與forward_list不支援外,其餘順序容器皆支援
形式:c.push_back(t)
注:把乙個物件新增到容器中,實際上放入的是物件的拷貝值而不是物件本身,隨後對容器中元素的任何改變都不會影響原始物件。
2.push_front
將元素插入到容器頭部,vector不支援
形式:c.push.front(t)
3.insert
接受乙個迭代器和值作為引數,將元素插入到迭代器所指定的位置之前,迭代器可以指向容器任何位置,包括尾部之後的下乙個位置
形式:c.insert(iter,t)//iter是迭代器,t為值
c.insert(iter,元素個數,t)
c.insert(iter,v.iter1,v.iter2)//接受一對迭代器,把該對迭代器所指的內容插入到iter指示的位置之前
返回值:返回乙個迭代器,指向(第乙個)新加入的那個元素。
注:雖然某些容器不知push_front,但是它們對於insert操作並無限制,所以可以用insert操作將元素插入容器起始位置,而不用擔心容器是否支援push_front
4.emplace
emplace_front,emplace,emplace_back分別對應push_front,insert,push_back,這些操作構造元素而不是拷貝元素,當呼叫乙個emplace成員函式時,是將引數傳遞給元素型別的建構函式,emplace使用這些引數構造出元素再新增到容器
形式:c.emplace_back(構造物件的形參)"978-050909",23,14.99),容器的元素型別為某個類,該類的建構函式的形參為"978-050909",23,14.99
訪問元素
c.front()
c.back()
c[n]
刪除元素
c.pop_back()
c.pop_front()
c.erase(p)//刪除迭代器p指定的元素,返回乙個指向被刪除元素之後的迭代器
c.erase(b,e)//刪除迭代器b和e所指定的範圍的元素,返回指向最後被刪除元素之後元素的迭代器
c.clear()//刪除c中的所有元素,返回void
其它成員函式
c.size()
c.empty()
swap(c1,c2)//交換兩個容器c1,c2中的元素,c1,c2必須具有相同型別
c.assign(v.iter1,v.iter2)//用迭代器所指定的範圍的元素替換左邊容器的所有元素,允許容器型別不同和值型別,但值須相容
c.assign(元素個數,元素值)//替換
靜態順序表的一些操作
靜態順序表.h ifndef shunxubiao h define shunxubiao h define max size 10 typedef int datatype 靜態順序表 typedef struct seqlist seqlist,pseqlist void initseqlist...
C 中一些容器的基本操作
vector 向量 可變陣列vectorreference operator size type n 陣列方式訪問元素 reference at size type n 函式方式訪問元素 void push back const value type val 末尾插入 void pop back 末...
stl一些容器
deque a deque deque n,elem n個elem初始化的deque deque beg,end 雙指標初始化 v.push front 取出第乙個元素 棧,先進後出。通過top 方法返回棧頂元素,push 壓棧,pop 出棧。效率很高,不能遍歷,不支援隨機訪問。q.front q....