收藏向 C Deque容器基礎知識解析

2021-10-19 20:06:49 字數 4533 閱讀 6232

deque賦值操作

deque大小操作

deque插入和刪除

deque資料訪問

deque排序

功能:

deque與vector區別:

deque內部工作原理:

deque deqt;

//預設構造形式

deque

(beg, end)

;//建構函式將[beg, end)區間中的元素拷貝給本身。

deque

(n, elem)

;//建構函式將n個elem拷貝給本身。

deque

(const deque &deq)

;//拷貝建構函式

#include

void

printdeque

(const deque<

int>

& d)

cout << endl;

}//deque構造

void

test01()

printdeque

(d1)

; deque<

int>

d2(d1.

begin()

,d1.

end())

;printdeque

(d2)

; deque<

int>d3(

10,100)

;printdeque

(d3)

; deque<

int>d4 = d3;

printdeque

(d4);}

intmain()

總結:​ deque容器和vector容器的構造方式幾乎一致,靈活使用即可

deque&

operator=(

const deque &deq)

;//過載等號操作符

assign

(beg, end)

;//將[beg, end)區間中的資料拷貝賦值給本身。

assign

(n, elem)

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

#include

void

printdeque

(const deque<

int>

& d)

cout << endl;

}//賦值操作

void

test01()

printdeque

(d1)

; deque<

int>d2;

d2 = d1;

printdeque

(d2)

; deque<

int>d3;

d3.assign

(d1.

begin()

, d1.

end())

;printdeque

(d3)

; deque<

int>d4;

d4.assign(10

,100);

printdeque

(d4);}

intmain()

總結:​ deque賦值操作也與vector相同,需熟練掌握

deque.

empty()

;//判斷容器是否為空

deque.

size()

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

deque.

resize

(num)

;//重新指定容器的長度為num,若容器變長,則以預設值填充新位置。

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

deque.

resize

(num, elem)

;//重新指定容器的長度為num,若容器變長,則以elem值填充新位置。

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

#include

void

printdeque

(const deque<

int>

& d)

cout << endl;

}//大小操作

void

test01()

printdeque

(d1)

;//判斷容器是否為空

if(d1.

empty()

)else

//重新指定大小

d1.resize(15

,1);

printdeque

(d1)

; d1.

resize(5

);printdeque

(d1);}

intmain()

總結:

兩端插入操作:

push_back

(elem)

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

push_front

(elem)

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

pop_back()

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

pop_front()

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

指定位置操作:

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位置的資料,返回下乙個資料的位置。

#include

void

printdeque

(const deque<

int>

& d)

cout << endl;

}//兩端操作

void

test01()

//插入

void

test02()

//刪除

void

test03()

intmain()

總結:

at

(int idx)

;//返回索引idx所指的資料

operator

;//返回索引idx所指的資料

front()

;//返回容器中第乙個資料元素

back()

;//返回容器中最後乙個資料元素

#include

void

printdeque

(const deque<

int>

& d)

cout << endl;

}//資料訪問

void

test01()

cout << endl;

for(

int i =

0; i < d.

size()

; i++

) cout << endl;

cout <<

"front:"

<< d.

front()

<< endl;

cout <<

"back:"

<< d.

back()

<< endl;

}int

main()

總結:

sort

(iterator beg, iterator end)

//對beg和end區間內元素進行排序

#include

#include

void

printdeque

(const deque<

int>

& d)

cout << endl;

}void

test01()

intmain()

總結:​ 使用時包含標頭檔案 algorithm

C 基礎知識 unordered map容器

unordered map 容器模板的定義如下所示 template class key,鍵值對中鍵的型別 classt,鍵值對中值的型別 class hash hash 容器內部儲存鍵值對所用的雜湊函式 class pred equal to 判斷各個鍵值對鍵相同的規則 class alloc a...

OLAP和OLTP的區別 基礎知識收藏

聯機分析處理 olap 的概念最早是由關聯式資料庫之父e.f.codd於1993年提出的,他同時提出了關於olap的12條準則。olap的提出引起了很大的反響,olap作為一類產品同聯機事務處理 oltp 明顯區分開來。當今的資料處理大致可以分成兩大類 聯機事務處理oltp on line tran...

python入門《基礎知識4 關聯容器》

本文介紹關聯容器,關聯容器主要包括字典型別 dicttype 和集合型別 set 一 字典型別 1.字典的建立 字典的建立使用大括號 的形式,字典中的每乙個元素都是一對,每對包括key和value兩個部分,中間用冒號 隔開。字典是一種可變的型別,可以儲存任意型別的資料。1 用dict 建立乙個空字典...