STL常用容器(七)set multiset容器

2021-10-06 02:53:01 字數 2663 閱讀 4402

簡介:

本質:

set和multiset區別

功能描述:建立set容器以及賦值

構造:

賦值:

#include

void

printset

(set<

int>

& s)

cout << endl;

}//構造和賦值

void

test01()

intmain()

總結:

功能描述:

函式原型:

#include

void

printset

(set<

int>

& s)

cout << endl;

}//大小

void

test01()

else

}//交換

void

test02()

intmain()

總結:

功能描述:

函式原型:

#include

void

printset

(set<

int>

& s)

cout << endl;

}//插入和刪除

void

test01()

intmain()

總結:

功能描述:

函式原型:

#include

//查詢和統計

void

test01()

else

//統計

int num = s1.

count(30

);cout <<

"num = "

<< num << endl;

}int

main()

總結:

區別:

#include

//set和multiset區別

void

test01()

else

ret = s.

insert(10

);if(ret.second)

else

//multiset

multiset<

int> ms;

ms.insert(10

);ms.

insert(10

);for(multiset<

int>

::iterator it = ms.

begin()

; it != ms.

end(

); it++

) cout << endl;

}int

main()

總結:

功能描述:

兩種建立方式:

#include

//對組建立

void

test01()

intmain()

學習目標:

主要技術點:

示例一set存放內建資料型別

#include

class

mycompare};

void

test01()

cout << endl;

//指定排序規則

set<

int,mycompare> s2;

s2.insert(10

);s2.

insert(40

);s2.

insert(20

);s2.

insert(30

);s2.

insert(50

);for(set<

int, mycompare>

::iterator it = s2.

begin()

; it != s2.

end(

); it++

) cout << endl;

}int

main()

示例二set存放自定義資料型別

#include

#include

class

person

string m_name;

int m_age;};

class

compareperson};

void

test01()

}int

main()

STL常用容器對比

stl的常用容器大致有以下8個 vector是一種動態陣列,在記憶體中具有連續的儲存空間,支援快速隨機訪問。由於具有連續的儲存空間,所以在插入和刪除操作方面,效率比較慢。vector有多個建構函式,預設的建構函式是構造乙個初始長度為0的記憶體空間,且分配的記憶體空間是以2的倍數動態增長的,在push...

STL常用容器解析

關鍵字 key 無序 關聯容器 刷題過程中,有兩個步驟最為關鍵 1 思路與解析,一道題能否找到解題的思路決定了能否做的出來,有明晰的思路就能夠腦海裡通過演算法與資料結構的知識去分解為每乙個小process,然後去解析實現直到最終結果,只有豐富的演算法經驗,才能在刷題過程中游刃有餘,逐個擊破!2 實現...

STL常用容器總結

include 標頭檔案 queue q 定義 q.push x 入隊 q.pop 出隊 q.empty 判空 q.size 佇列元素個數 q.front 隊首元素值 q.back 隊尾元素值 include 標頭檔案 stack s 定義 s.push x 入棧 s.pop 出棧 s.empty ...