C STL 資料結構的基本操作

2021-10-21 19:57:09 字數 2925 閱讀 9939

二、string

三、unordered_map

介面卡一、棧stack

二、佇列 queue、priority_queue

總結

accumulate 演算法在numeric.h標頭檔案中定義

accumulate 帶有三個形參:頭兩個形參指定要累加的元素範圍,第三個形參則是累加的初值

a:  string s2=s1+

", "

;//對,把乙個string物件和乙個字元面值連線起來是允許的

b: string s4=

"hello"

+", "

;//錯,不能將兩個字串面值相加

c: string s5=s1+

", "

+"world"

;//對,前面兩個相加相當於乙個string物件;

d: string s6=

"hello"

+", "

+ s2;

//錯

s.

("abc");

s.(s1)

;

插入字元:insert(pos,args):在pos之前插入字元args指定的字元

s.

insert

(s.size()

,"tail");

//在字串末尾插入字串「tail」

刪除字元:

替換/賦值:s1=s2

字串比較:

s1.

compare

(s2)

;

查詢:find(s)找第乙個出現的字串s,返回其下標值

獲取子串:substr(startindex, len)從下標startindex開始查詢長度為len的子串

替換:replace(range,args):刪除range範圍內的字元,替換為args指定的字元。range可以是乙個下標和長度,或者是一對指向字串的迭代器。

s.

replace(11

,3,"5th");

//替換從下標11開始的3個字元

basic _ string&

replace

( size _ type _pos1 ,size _ type _num1 ,

const value _ type* _ptr )

;basic _ string&

replace

(size _ type _pos1 ,size _ type _num1 ,

const basic _ string _str )

;

basic _ string&

replace

( size _ type _pos1 , size _ type _num1 ,

const basic _ string& _str ,size _ type _pos2 , size _ type )

;basic _ string&

replace

( size _ type _pos1 , size _ type _num1 ,

const value _ type* _ptr , size _ type _num2 )

;

(標頭檔案cctype.h

大小寫轉換

字串與數值之間的轉換

定義

常用操作

定義

(1)普通定義

priority_queue < int > q;              //按照元素從大到小的順序出隊

priority_queue< vector < int >, less < int > > pq1;     //按照元素從大到小出佇列

priority_queue< int, vector < int >, greater < int > > q;   //按照元素從小到大的順序出隊

//構造乙個空的優先佇列(此優先佇列預設為大頂堆)

priority_queue<

int> big_heap;

//另一種構建大頂堆的方法

priority_queue<

int,vector<

int>

,less<

int>

> big_heap2;

//構造乙個空的優先佇列,此優先佇列是乙個小頂堆

priority_queue<

int,vector<

int>

,greater<

int>

> small_heap;

(2)自定義優先順序:

struct cmp

};priority_queue< int, vector < int >, cmp > q; //定義方法

基本操作

empty()    如果隊列為空,則返回真

pop()    刪除對頂元素,刪除第乙個元素

push()    加入乙個元素

size()     返回優先佇列中擁有的元素個數

top()     返回優先佇列對頂元素,返回優先佇列中有最高優先順序的元素

資料結構樹的基本操作 資料結構 樹的基本操作

include include include gtree.h include linklist.h typedefstruct tag gtreenode gtreenode 樹的節點 struct tag gtreenode gtreedata data 節點自身資料 gtreenode par...

資料結構佇列的基本操作

include include 鍊錶 佇列的鏈式儲存結構 typedef struct queuenode qnode,queueptr 指向佇列頭和尾的指標結構體 typedef struct queue int main 構造乙個空佇列 void initqueue queue q 向隊尾插入元...

資料結構 佇列的基本操作

佇列 簡稱隊,一種受限的線性表,只允許在表的一端進行插入,在表的另一端進行刪除操作 先進先出 隊頭 進行刪除的一端 隊尾 進行插入的一端 空佇列 不含任何元素的空表 佇列的基本操作 佇列分為順序佇列 迴圈佇列和鏈式佇列,順序佇列容易發生假溢位現象 隊尾超過限定長度 故不常用,下面是迴圈佇列和鏈式佇列...