C 標準模板庫 set

2021-09-24 20:51:29 字數 1494 閱讀 2508

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