c 極簡總結 STL deque

2021-10-24 13:13:22 字數 2910 閱讀 2844

deque (usually pronounced like "deck") is an irregular acronym of double-ended queue

雙端陣列,可以對頭端和尾端進行插入刪除操作。

1、deque與vector的頭插速度

2 、deque 內部中控器

deque 內部有個中控器,維護每段緩衝區中的內容,緩衝區中存放真實的資料,中控器維護每個緩衝區的位址。

3、相關操作

3.1 建構函式

類似於vector.

explicit deque (size_type n)

; deque (size_type n,

const value_type& val,

const allocator_type& alloc =

allocator_type()

)

template

<

class

inputiterator

>

deque (inputiterator first, inputiterator last,

const allocator_type& alloc =

allocator_type()

);

deque (

const deque& x)

;deque (

const deque& x,

const allocator_type& alloc)

;

deque (deque&& x)

;deque (deque&& x,

const allocator_type& alloc)

;

deque (initializer_list il,

const allocator_type& alloc =

allocator_type()

);

測試:

void

test_1()

; std::deque<

int> d5 (myints, myints +

sizeof

(myints)

/sizeof

(int))

; std::cout <<

"the contents of d5 are:"

;for

(std::deque<

int>

::iterator it = d5.

begin()

; it!=d5.

end();

++it)

std::cout <<

' '<<

*it;

std::cout <<

'\n'

;}

3.2 賦值操作

與vector一樣

void

printdeque

(const deque<

int>

&d)void

test_2()

; deque<

int> d2;

d2 = d1;

printdeque

(d1)

;printdeque

(d2)

; deque<

int> d3;

d3.assign

(++d2.

begin()

,--d2.

end())

;printdeque

(d3)

; deque<

int> d4;

d4.assign(5

,10);

//5 個 10

printdeque

(d4)

;}

3.3 容器大小,元素訪問

empty()判空

size()元素個數

resize(int num)重新指定容器大小

resize(int num,elem)重新指定容器大小和填充的元素

at(int idx)

operator

front()返回第乙個

back返回最後乙個

測試

void

test_3()

3.4 插入刪除

push_back(elem)

push_front(elm)

pop_back()

pop_front()

insert(pos,elem)在位置pos ,插入elem

insert(pos,n,elem)在位置pos ,插入n 個 elem

insert(pos,begin,end)在位置pos ,插入n 個 elem

erase(begin,end)

erase(pos)

clear()

pos 均為迭代器指向的位置

測試

void

test_4()

C 極簡總結 多型 一

多型 指相同物件收到不同訊息或者不同物件收到相同訊息時產生不同的動作。總的來說分為 靜態多型 早繫結 例如定義如下的 rect 類,在clcarea 中傳入不同形式引數會呼叫不同的函式。函式呼叫在程式執行前就準備好了。有時候這也被稱為早繫結。ifndef polymorphism rect h de...

C 極簡總結 模板 一

模板把函式或類要處理的資料型別引數化,表現為引數的多型性。模板也是一種 的重用機制。分為函式模板和類模板 函式模板 函式模板的定義格式如下 template 模板參數列 返回值型別 函式名 參數列 include include using namespace std template t squa...

C指標極簡入門

指標的實質是乙個變數 乙個儲存記憶體位址的變數 在x86系統中佔4個位元組,在x64系統中佔8個位元組 指標的作用是指向記憶體的另乙個地方,並且明確了指向的記憶體位址大小 即寬度 x86 x64系統的系統位址匯流排為32 64位,且cpu 暫存器單次所能處理的資料為32 64位 概括的講指標的主要內...