目錄
棧(stack) 簡介
宣告基本操作
**示例
佇列(queue) 簡介
宣告基本操作
**示例
優先佇列(priority_queue) 簡介
宣告基本操作
調整輸出次序
二叉搜尋樹 簡介
基本概念
c++的stl中基於二叉搜尋樹有資料結構set和map
1.set
常用操作
2.map 宣告
常用操作
**示例
棧是一種只能在一端進行插入或者刪除操作的線性表。其中允許進行插入或者刪除操作的一端稱為棧頂。棧的插入和刪除一般叫入棧和出棧。棧的順序儲存結構叫做順序棧,棧的鏈式儲存結構叫做鏈棧。
c++中棧的標頭檔案為
stack《資料型別》 物件;
例如:stacks;
push(): 向棧內壓入乙個成員;
pop(): 從棧頂彈出乙個成員(在棧中將其刪除),此函式不返回任何值;
top(): 返回棧頂,但不刪除成員;
empty(): 如果棧為空返回true,否則返回false;
size(): 返回棧內元素的大小;
注:棧只能對棧頂元素進行操作。
#include#includeusing namespace std;
int main()
cout
// 插入值
s.insert(8);
s.insert(3);
// 注意,重複插入的值會被忽視
s.insert(3);
s.insert(7);
s.insert(1);
// 輸出當前set
print(s);
// 刪除指定值
s.erase(7);
print(s);
// 查詢元素
map以鍵值對為元素,集合以鍵作為排序標準。集合中的鍵具有唯一性。
mapmapstudent;
clear()
清除 map 中所有元素;
erase()
刪除 map 中指定位置的元素;
insert()
在 map 指定位置新增 pair 型別的元素;
find()
獲取 map 中元素的迭代器
begin(), end()
map 的正向迭代器的起始位置與終點位置;
#include#include#includeusing namespace std;
void print(mapt){
// 宣告map的乙個迭代器
map::iterator it;
// 輸出map的size
cout
cout
// 加入鍵值對
t["red"] = 32;
t["blue"] = 688;
t["yellow"] = 122;
// 對特定鍵對應的值進行操作
t["blue"] += 312;
print(t);
// 通過pair的方法加入鍵值對
t.insert(make_pair("zebra",101010));
t.insert(make_pair("white",0));
print(t);
// 刪除鍵值對
t.erase("yellow");
print(t);
// 輸出指定的鍵值對
基於C 學資料結構
資料結構是相互之間存在一種或多種特定關係的資料元素的集合。資料元素 是組成資料的,有一定意義的基本單位,又叫做記錄。坦克物件 資料項 資料元素由多個資料項組成,是不可分割的最小單位。坦克x,y,速度 邏輯結構 資料元素之間的邏輯關係稱為資料的邏輯結構。集合結構 資料元素除了同屬於乙個集合外,它們之間...
C 常用資料結構
資料結構 型別及備註 插入和刪除 查詢array 順序儲存的線性表 定長 不支援 這裡的插入與刪除指會更改表長的行為 o n linkedlist 鏈式儲存的線性表 不定長 o 1 o n list 順序儲存的線性表 不定長 動態擴容 o n 結尾則是o 1 o n stack 棧 不定長 動態擴容...
C 常用資料結構
array arraylist list linkedlist queue stack dictionary 陣列array特點 儲存在連續的記憶體上 元素型別相同 直接通過下表訪問 建立時需要指定陣列長度 根據下標索引元素並進行相關操作速度快,但插入或刪除元素比較麻煩 arraylist 非泛型集...