STL 排序容器multiset和set用法詳解

2021-10-05 21:28:30 字數 1244 閱讀 8835

前言:希望在大量資料中進行的元素增加、刪除、查詢都在log(n)複雜度內完成,排序+二分查詢顯然不可以,因為新加入資料就要進行重新排序。而使用「平衡二叉樹」資料結構存放資料就可以達到目的,在stl中體現為以下四種排序容器:multiset、set、multimap、map。

標頭檔案:#include

用法:multisetst;定義了乙個multiset型別變數st,st裡面可以存放t型別的資料,並且能自動排序。開始st為空

預設排序規則從小到大。

可用st.insert新增元素,st.find查詢元素,st.erase刪除元素。

multiset st;
元素新增(注意前後**連貫):

int num[6] = ;

for (int i = 0; i < 5; i++)

元素遍歷:

multiset::iterator i;//迭代器i,近似於指標

for ( i=st.begin();i!=st.end();++i)

元素查詢:

i = st.find(21);//找到返回指向元素的迭代器

i = st.find(9);//找不到返回值為st.end()

if (i==st.end())

; struct rule

else

}}; multiset st;

student students[4] = ,,, };

for (int i = 0; i < 4; i++)

multiset::iterator i;//迭代器i,近似於指標

for ( i=st.begin();i!=st.end();++i)

; multiset::iterator p=st.find(std1);

if (p!=st.end())//找到

檢視下篇文章了解multimap和map的用法

STL容器 multiset的學習

includeusing namespace std intmain begin 和end p m.begin cout 第乙個元素 p p cout 最後乙個元素 p printf 元素的個數 d n m.size 統計容器中關鍵字的個數 int i m.count 1 printf 元素1的個數...

STL常用操作 multiset

multisetset1 建立空set multisetset2 set1 拷貝構造 multisetset3 set1.begin set1.end 迭代器構造 multisetset4 arr,arr 5 陣列構造 multisetset5 move set2 移動構造 multisetset6...

c 學習之STL中排序演算法multiset

multisetst st裡面儲存著t型別的資料,能夠自動排序 multiset iterator p是迭代器,相當於指標 st.begin 返回值為 multiset iterator,是指向st中頭乙個元素的迭代器 st.end 返回值為 multiset iterator,是指向st中最後乙個...