set是集合,是乙個內部自動有序且不含重複元素的容器。
如果要使用set,需要新增標頭檔案#include
,同時還要加上using namespace std;
。
單獨定義乙個set:
set<
typename
> name;
typename和vector一樣。例子:
set<
int> name;
set<
double
> name;
set name;
set陣列的定義也和vector相同:
set<
typename
> arrayname[arraysize]
;
例如:
set<
int> a[
100]
;
這樣arrayname[0] ~ arrayname[arraysize-1]中的每乙個都是乙個set容器。
set只能通過迭代器訪問。set::iterator it;
而且不能使用迭代器+整數的訪問方式。
set<
int> st;
st.insert(3
);st.insert(5
);st.insert(2
);st.insert(3
);//不支援itfor
(set<
int>
::iterator it = st.
begin()
;it != st.
end(
);it++
)
insert()
insert(x)可以將x插入set容器中,並且自動遞增排序和去重。
find()
find(value)返回set中對應值為value的迭代器。
erase()
有兩種用法:①刪除單個元素;②刪除乙個區間內的所有元素。用法同vector中所講。
st.erase(st.find(100));
st.erase(100);
增加了erase(value)直接根據值來刪除
size()
size()用來獲得set內元素的個數。
clear()
clear()用來清空set內的元素。
主要的作用是用來自動去重並按公升序排序。
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
1.set是乙個內部自動有序而且不含重複元素的容器,有的時候需要去除重複的元素,使用這個容器的話就非常方便了,而且不用考慮容器的長度,並且set還可以實現自動排序 使用set需要新增set標頭檔案,即 include,並且在標頭檔案下加上using namespace std 2.下面是set的一些...
STL標準模板庫 set
原 2017年04月25日 15 15 34 給糖吃的小 閱讀數 20538 更多分類專欄 c stl set集合是c stl庫中自帶的乙個容器,set具有以下兩個特點 1 set中的元素都是排好序的 2 set集合中沒有重複的元素 常用操作 begin 返回set容器的第乙個元素的位址 end 返...