C 順序容器 deque雙端佇列容器

2021-10-11 14:26:35 字數 2907 閱讀 8833

deque <

int> deqint;

// 乙個存放 int 的 deque 容器。

deque <

float

> deq float;

// 乙個存放 float 的 deque 容器。

deque

(beg,end)

;// 從[beg, end)區間中拷貝資料,beg和end為迭代器

deque

(n,elem)

;// 將 n 個 elem 拷貝給本身

deque

(const deque &deq)

;//拷貝建構函式

示例

deque<

int> dq;

dq.push_back(1

);dq.push_back(2

);dq.push_back(3

);// 範圍構造

deque<

int>

dq_c

(dq.

begin()

, dq.

end())

;

// 末尾新增和刪除

deque.

push_back

(elem)

;// 在容器尾部新增乙個資料

deque.

pop_back()

;// 刪除容器最後乙個資料

// 頭部新增和刪除

deque.

push_front

(elem)

;// 在容器頭部插入乙個資料

deque.

pop_front()

;// 刪除容器第乙個資料

// at方法,類似於vector操作

deque.

at(idx)

;//返回索引 idx 所指的資料,如果 idx 越界,丟擲 out_of_range

// 操作符

deque[i]

;// 獲取deque的第i個元素,不丟擲異常,直接報錯

// 獲取頭部第乙個資料

deque.

front()

;// 獲取尾部資料

deque.

back()

;

deque.

begin()

;//返回容器中第乙個元素的迭代器

deque.

end();

//返回容器中最後乙個元素之後的迭代器

deque.

rbegin()

;//返回容器中倒數第乙個元素的迭代器

deque.

rend()

;//返回容器中倒數最後乙個元素之後的迭代器

示例

deque<

int> dq;

dq.push_back(1

);dq.push_back(2

);dq.push_back(3

);for(

auto it = dq.

begin()

; it != dq.

end();

++it)

deque.

assign

(beg,end)

;// 從另乙個deque的[beg, end)區間中的拷貝賦值給本身

deque.

assign

(n,elem)

;// 將 n 個 elem 拷貝賦值給本身

deque&

operator=(

const deque &deq)

;//過載等號操作符

deque.

swap

(deq)

;// 將 deq 與本身的元素互換

deque.

insert

(pos,elem)

;// 在 pos 位置插入乙個 elem 元素的拷貝,返回新資料的位置

deque.

insert

(pos,n,elem)

;// 在 pos 位置插入 n 個 elem 資料,無返回值

deque.

insert

(pos,beg,end)

;//在 pos 位置插入[beg,end)區間的資料,無返回值

deque.

clear()

;//移除容器的所有資料

deque.

erase

(beg,end)

;//刪除[beg,end)區間的資料,返回下乙個資料的位置

deque.

erase

(pos)

;//刪除 pos 位置的資料,返回下乙個資料的位置

deque.

size()

;//返回容器中元素的個數

deque.

empty()

;//判斷容器是否為空

// 重新設定容器大小

// 若容器變長,則以預設值填充新位置

// 如果容器變短,則末尾超出容器長度的元素被刪除

deque.

resize

(num)

;//重新指定容器的長度為 num

// 重新設定容器大小

// 若容器變長,則以elem值填充新位置

// 如果容器變短,則末尾超出容器長度的元素被刪除

deque.

resize

(num, elem)

;//重新指定容器的長度為 num

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 方法在尾部插入元素,會擴張佇列 ...