C 標準模板庫 set

2021-10-06 03:49:19 字數 1368 閱讀 8681

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 返...