set容器中只能儲存鍵,是單純的鍵的集合,其中鍵是不能重複的。
下面簡單總結下set容器的操作:
set物件的定義和初始化方法包括:
其中,b和e分別為迭代器的開始和結束的標記。
例如:
#include
#include
#include
using
namespace
std;
int main()
set s(v.begin(), v.end());
printf("%d\n", v.size());
printf("%d\n", s.size());
return
0;}
注意:鍵是不能重複的。與map不同,set中資料只能通過
insert()
函式進行插入。
例如:
#include
#include
#include
using
namespace
std;
int main()
set s;
s.insert(v.begin(), v.end());
set::iterator it;
for (it = s.begin(); it != s.end(); it++)
printf("\n");
s.insert(10);
for (it = s.begin(); it != s.end(); it++)
printf("\n");
return
0;}
從set中查詢同樣可以使用count()
函式和find()
函式,兩者的區別在之前的map中已經總結。
例如:
#include
#include
#include
using
namespace
std;
int main()
set s;
s.insert(v.begin(), v.end());
set::iterator it;
for (it = s.begin(); it != s.end(); it++)
printf("\n");
printf("%d\n", s.count(9));
printf("%d\n", *(s.find(9)));
return
0;}
從set中刪除元素使用到的函式是erase()
函式,主要有以下的幾種形式:
其中,p表示的迭代器指向的元素,b和e分別是迭代器的開始和結束。
例如:
#include
#include
#include
using
namespace
std;
int main()
set s(v.begin(), v.end());
set::iterator it;
for (it = s.begin(); it != s.end(); it++)
}s.erase(it, s.end());
set::iterator it_1;
for (it_1 = s.begin(); it_1 != s.end(); it_1++)
printf("\n");
return
0;}
C C set容器的基本操作
用到了c 裡stl庫裡面的乙個容器 set容器 集和多集 set 和multiset 容器類 include 乙個集合 set 是乙個容器,它其中所包含的元素的值是唯一的。集和多集的區別是 set支援唯一鍵值,set中的值都是特定的,而且只出現一次 而multiset中可以出現副本鍵,同一值可以出現...
的基本操作 Linux 基本操作命令總結
每日17點準時技術乾貨分享 linux 基本操作命令 檔案和目錄管理 建立和刪除 建立 mkdir 刪除 rm 刪除非空目錄 rm rf file 目錄 刪除日誌 rm log 等價 find name log exec rm 移動 mv 複製 cp 複製目錄 cp r 建立檔案 touch 檢視 ...
C C map的基本操作總結
標準庫map型別是一種以鍵 值 key value 儲存的資料型別。以下分別從以下的幾個方面總結 pair型別是在有檔案utility中定義的,pair型別包含了兩個資料值,通常有以下的一些定義和初始化的一些方法 上述第一種方法是定義了乙個空的pair物件p,第二種方法是定義了包含初始值為v1和v2...