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位 概括的講指標的主要內...