如果不是vector每次配置新的空間時都留有餘裕,其成長假象所帶來的代價是非常昂貴的。
deqt;//預設構造形式
deque(begin, end);//建構函式將[beg, end)區間中的元素拷貝給本身。
deque(n, elem);//建構函式將n個elem拷貝給本身。
deque(const
deque &deq);//拷貝建構函式。
assign(begin, end);//將[beg, end)區間中的資料拷貝賦值給本身。
assign(n, elem);//將n個elem拷貝賦值給本身。
deque& operator=(const deque &deq); //過載等號操作符
swap(deq);// 將deq與本身的元素互換
deque.size();//返回容器中元素的個數
deque.empty();//判斷容器是否為空
deque.resize(num);//重新指定容器的長度為num,若容器變長,則以預設值填充新位置。如果容器變短,則末尾超出容器長度的元素被刪除。
deque.resize(num, elem); //重新指定容器的長度為num,若容器變長,則以elem值填充新位置,如果容器變短,則末尾超出容器長度的元素被刪除。
push_back(elem);//在容器尾部新增乙個資料
push_front(elem);//在容器頭部插入乙個資料
pop_back();//刪除容器最後乙個資料
pop_front();//刪除容器第乙個資料
at(idx);//返回索引idx所指的資料,如果idx越界,丟擲out_of_range。
operator;//返回索引idx所指的資料,如果idx越界,不丟擲異常,直接出錯。
front();//返回第乙個資料。
back();//返回最後乙個資料
insert(pos,elem);//在pos位置插入乙個elem元素的拷貝,返回新資料的位置。
insert(pos,n,elem);//在pos位置插入n個elem資料,無返回值。
insert(pos,beg,end);//在pos位置插入[beg,end)區間的資料,無返回值。
clear();//移除容器的所有資料
erase(beg,end);//刪除[beg,end)區間的資料,返回下乙個資料的位置。
erase(pos);//刪除pos位置的資料,返回下乙個資料的位置。
Deque雙端佇列容器
1 deque雙端佇列容器建立deque物件 可建立無任何元素的或者具有n個元素的或者具有n個元素的並賦初值的 include include include include include include include include include include include includ...
deque雙端佇列容器
c 中的stl還是比較有用的,尤其是在做科研實現演算法的時候,之前也有用過,但是沒怎麼系統地學過,因此最近找了本書,大致瀏覽了一下,葉志軍的那本 c stl開發技術導引 科普 入門性質的一本書,寫得比較淺 呵呵,勿噴 下面的內容大部分是摘自該書。deque雙端佇列容器 double ended qu...
deque雙端佇列容器
deque採用分塊的星星儲存結構來儲存資料,每塊的大小一般為512個位元組,稱為乙個deque塊,所有的deque塊使用乙個map塊進行管理,每個map資料項紀錄各塊的首位址。deque塊在頭部和尾部都可以插入和刪除元素,而不需要移動其他元素 使用push back 方法在尾部插入元素,會擴張佇列 ...