使用前需要#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這些一起用。
迭代器按照定義方式分成以下四種。另外,遍歷set時的迴圈體中的正向迭代器,定義方法如下: 容器類名::iterator 迭代器名;
常量正向迭代器,定義方法如下: 容器類名::const_iterator 迭代器名;
反向迭代器,定義方法如下: 容器類名::reverse_iterator 迭代器名;
常量反向迭代器,定義方法如下: 容器類名::const_reverse_iterator 迭代器名;
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...