1. set是乙個內部自動有序而且不含重複元素的容器,有的時候需要去除重複的元素,使用這個容器的話就非常方便了,而且不用考慮容器的長度,並且set還可以實現自動排序
使用set需要新增set標頭檔案,即#include,並且在標頭檔案下加上using namespace std;
2. 下面是set的一些常用用法:
① set的定義:
setname; typename為型別名,與vector或者是其他的stl都是類似的,typename可以是任意的基本資料型別,int、double、char這些,還可以是乙個stl容器,需要注意的是假如typename是乙個stl容器,需要在》符號之間加上空格
② set容器內元素的訪問
與之前的vector不同的是,set只能通過迭代器來進行訪問
set::iterator it;
set::iteratot it;
set::iteratot it;
這樣就得到了迭代器it,並且通過迭代器*it來訪問set裡面的元素
下面是具體的**:
#include#includeusing namespace std;
int main(void)
return 0;
}
3. 常用函式
(1)insert函式
insert(x)將x插入到set容器中,並且自動排序與去重
(2)find函式
find(value)返回的是set中對應值為value的迭代器
下面是具體的**:
#include#include#includeusing namespace std;
int main(void)
(3)erase()函式
① 刪除單個元素:有兩種方法,一種是st.erase(it),it為所需要刪除元素的迭代器,第二種方法是st.earse(value)value為所需要刪除元素的值
② 刪除乙個區間內的所有元素
st.erase(first,last)可以刪除乙個區間內的所有元素,其中first為需要刪除區間的起始迭代器,而last為所需要刪除區間的末尾迭代器的下乙個位址,也即是刪除[first,last)
下面是具體的**:
#include#include#includeusing namespace std;
int main(void)
return 0;
}
#include#include#includeusing namespace std;
int main(void)
(4)clear用來清空set中的所有元素
下面是具體的**:
#include#include#includeusing namespace std;
int main(void)
C 標準模板庫 set
直接上 include includeusing namespace std int main printf n find x 返回set中值為x的迭代器 迭代器與資料一一對應 set iterator it si.find 2 printf d n it it si.find 100 此時迭代器到...
C 標準模板庫 set
set是集合,是乙個內部自動有序且不含重複元素的容器。如果要使用set,需要新增標頭檔案 include,同時還要加上using namespace std 單獨定義乙個set set typename name typename和vector一樣。例子 set int name set doubl...
STL標準模板庫 set
原 2017年04月25日 15 15 34 給糖吃的小 閱讀數 20538 更多分類專欄 c stl set集合是c stl庫中自帶的乙個容器,set具有以下兩個特點 1 set中的元素都是排好序的 2 set集合中沒有重複的元素 常用操作 begin 返回set容器的第乙個元素的位址 end 返...