Set容器常用操作

2021-10-02 13:12:19 字數 1217 閱讀 8109

使用前需要#include標頭檔案。

s.begin()  返回set容器的第乙個元素

s.end()      返回set容器的最後乙個元素 ,但是,又有人說s.end();返回指向容器最後乙個資料單元+1的指標,如果我們要輸出最後乙個元素的值應該是*(--s.end());我測試的結果是兩個都一樣,為什麼。。。

s.clear() 刪除set容器中的所有的元素

s.empty()     判斷set容器是否為空

s.insert() 插入乙個元素

s.erase() 刪除乙個元素

s.size()     返回當前set容器中的元素個數

//set的插入及遍歷操作

#include

#include

#include

using

namespace std;

set<

int> s;

intmain()

return0;

}

我在cout << s.end() << " ";這裡遇到了乙個問題,這樣子就報錯了,後來我發現s.end()是指標型別的物件,所以需要用*來指向它。

另外,粗略說說迭代器iterator。

要訪問順序容器和關聯容器中的元素,需要通過「迭代器(iterator)」進行。迭代器是乙個變數,相當於容器和操縱容器的演算法之間的中介。迭代器可以指向容器中的某個元素,通過迭代器就可以讀寫它指向的元素。從這一點上看,迭代器和指標類似。

所以說,它經常和set、vector這些一起用。

迭代器按照定義方式分成以下四種。

正向迭代器,定義方法如下: 容器類名::iterator 迭代器名;

常量正向迭代器,定義方法如下: 容器類名::const_iterator 迭代器名;

反向迭代器,定義方法如下: 容器類名::reverse_iterator 迭代器名;

常量反向迭代器,定義方法如下: 容器類名::const_reverse_iterator 迭代器名;

另外,遍歷set時的迴圈體中的it != s.end()應該記得不是《號,因為我們不知道到**停。

Set集合常用操作

1 元素插入 insert 2 中序遍歷 類似vector遍歷 用迭代器 3 反向遍歷 利用反向迭代器reverse iterator。sets set reverse iterator rit for rit s.rbegin rit s.rend rit 4 元素刪除 與插入一樣,可以高效的刪除...

set容器 map容器

簡介 本質 set和multiset區別 構造 賦值 include void printset set int s cout endl 構造和賦值 void test01 intmain 總結 函式原型 include void printset set int s cout endl 大小 vo...

set容器總結

1.關於set c stl 之所以得到廣泛的讚譽,也被很多人使用,不只是提供了像vector,string,list等方便的容器,更重要的是stl封裝了許多複雜的資料結構演算法和大量常用資料結構操作。vector封裝陣列,list封裝了鍊錶,map和set封裝了二叉樹等,在封裝這些資料結構的時候,s...