一、set集合簡介
Set是C++ Standard Library中的一種關(guān)聯(lián)容器,它是一組按照特定順序排列的值,其中每個元素只能出現(xiàn)一次。
看起來和數(shù)組很相似,但是set中的元素是按照鍵(key)自動排序的。set中的元素是唯一的,因此如果要將相同元素添加到set中,set會在添加時自動刪除重復(fù)的元素。二、set遍歷的方法
遍歷set集合的方法大致有以下幾種:
三、遍歷set集合中的所有元素
set集合中的元素是按照特定順序排列的,因此我們可以通過遍歷整個集合來獲取所有元素。
#include
#include
using namespace std;
int main()
{
set s = {1, 2, 3, 4, 5};
// 遍歷整個 set
for (auto i : s)
{
cout << i << " ";
}
return 0;
}
以上代碼中,我們使用for-each循環(huán)遍歷整個set集合。
四、按照特定條件遍歷set集合中的元素
除了可以遍歷整個set集合,我們還可以使用特定條件來遍歷set中的元素,例如我們可以遍歷所有小于5的元素:
#include
#include
using namespace std;
int main()
{
set s = {1, 2, 3, 4, 5};
// 遍歷 set 中小于5的元素
for (auto iter = s.begin(); iter != s.end() && *iter < 5; ++iter)
{
cout << *iter << " ";
}
return 0;
}
以上代碼中,我們使用迭代器遍歷set集合,通過判斷當(dāng)前遍歷到的元素是否小于5來決定是否繼續(xù)遍歷。
五、使用auto關(guān)鍵字簡化語句
針對以上的迭代器遍歷和for-each循環(huán),C++11提供了auto關(guān)鍵字,可以幫助我們簡化代碼。
#include
#include
using namespace std;
int main()
{
set s = {1, 2, 3, 4, 5};
// 使用 auto 關(guān)鍵字簡化語句
for (auto i : s)
{
cout << i << " ";
}
return 0;
}
以上代碼中,我們使用了auto關(guān)鍵字來簡化for-each循環(huán)。
六、總結(jié)
set是C++ Standard Library中的一種關(guān)聯(lián)容器,它可以方便地存儲一組有序元素,并且每個元素只會出現(xiàn)一次。
遍歷set中的元素可以使用迭代器遍歷、for-each循環(huán)遍歷、STL算法庫中的函數(shù)等方法,其中迭代器遍歷是最常用的方法。
除了遍歷整個set集合,我們還可以根據(jù)特定條件遍歷set中的元素。
C++11提供了auto關(guān)鍵字,可以幫助我們簡化語句。