常用資料結構總結(基於C )

2021-09-01 08:09:48 字數 2109 閱讀 3170

目錄

棧(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 非泛型集...