天天最新:STL庫之集合基本使用方法

2022-12-27 10:31:38 來源:51CTO博客

引言:

集合是數學中的一個概念,集合是由一些不重復的數據組成的。


【資料圖】

在C++中我們常用的集合是set。

一、引用庫

c++中set的實現在一個頭文件中,在代碼開頭引入這個頭文件,并且同樣加上一句using namespace std

二、構造一個集合

C++中直接構造一個set的語句是:seta.這樣我們就定義了一個名為a的、儲存數據類型為int的集合(與vector類似)

三、插入元素

使用insert()函數向集合中插入一個新的元素。注意如果結合中已經存在了某個元素,再次插入不會產生任何效果,集合中是不會出現相同元素的。

同時用法也和vector一樣,需要用集合名去引線

四、刪除元素

用erase()函數刪除集合中的一個元素,如果集合中沒有和刪除的元素,不進行任何操作

五、判斷元素是否存在

直接使用count()函數。如果集合中存在我們要查找的元素,返回1,否則就返回0,盡管count()函數返回值是int類型,但他就返回1或0(所以我們可以使用count函數直接放入循環/判斷條件)

六、遍歷元素(迭代器的方法)

C++通過迭代器可以訪問集合中的每一個元素,迭代器就好像一根手指指向set中的某個元素。通過操作這個手指,我們可以改變它指向的元素。通過*(解引用操作符)操作可以獲取迭代器指向的元素。通過++操作讓迭代器指向下一個元素,同理--操作讓迭代器指向上一個元素。

迭代器的寫法比較固定,set::iterator it就定義了指向set這種集合的迭代器it,T是任意的數據類型。其中::iterator是固定的寫法。begin函數返回容器中其實元素的迭代器,end函數返回容器的尾后迭代器。(尾后迭代器表示在end后面一位的元素)

#include//數據結構set的頭文件#includeusing namespace std;//一定不要忘int main(){  set country;//{ }定義set  country.insert("china");//{"china"}插入元素China  country.insert("america");//{"China","American"}插入元素American  country.insert("france");  country.erase("france");//清空集合中某一個具體的元素  for (set::iterator it=country.begin();it!=country.end();it++)//迭代器使用的方法,先記??!  {    cout << *it << " ";  }  return 0;}

最好先記住迭代器于for循環中使用的方法

七、清空

clear()函數用于清空set,同時會清空set所占的內存

標簽: 數據類型 可以使用

上一篇:Ubuntu20.04 + VirtualBox相關
下一篇:QT的QGroupBox