天天看點

【C++】 C++标準模闆庫(四) Set

​1. C++ Sets​

集合(Set)是一種包含已排序對象的關聯容器

​​​begin()​​​ 傳回指向第一個元素的疊代器
​​​clear()​​​ 清除所有元素
​​​count()​​​ 傳回某個值元素的個數
​​​empty()​​​ 如果集合為空,傳回true
​​​end()​​​ 傳回指向最後一個元素的疊代器
​​​equal_range()​​​ 傳回集合中與給定值相等的上下限的兩個疊代器
​​​erase()​​​ 删除集合中的元素
​​​find()​​​ 傳回一個指向被查找到元素的疊代器
​​​get_allocator()​​​ 傳回集合的配置設定器
​​​insert()​​​ 在集合中插入元素
​​​lower_bound()​​​ 傳回指向大于(或等于)某值的第一個元素的疊代器
​​​key_comp()​​​ 傳回一個用于元素間值比較的函數
​​​max_size()​​​ 傳回集合能容納的元素的最大限值
​​​rbegin()​​​ 傳回指向集合中最後一個元素的反向疊代器
​​​rend()​​​ 傳回指向集合中第一個元素的反向疊代器
​​​size()​​​ 集合中元素的數目
​​​swap()​​​ 交換兩個集合變量
​​​upper_bound()​​​ 傳回大于某個值元素的疊代器
​​​value_comp()​​​ 傳回一個用于比較元素間的值的函數

​2. C++ Sets​

​begin​

​文法:​

​iterator​ begin();

傳回指向目前集合中第一個元素的疊代器。

​clear​

​文法:​

void clear();

清除目前集合中的所有元素。

​count​

​文法:​

size_type count( const key_type &key );

傳回目前集合中出現的某個值的元素的數目。

​empty​

​文法:​

bool empty();

如果目前集合為空,傳回true;否則傳回false。

​end​

​文法:​

const_iterator end();

傳回指向目前集合中最後一個元素的疊代器。

​equal_range​

​文法:​

pair equal_range( const key_type &key );

傳回集合中與給定值相等的上下限的兩個疊代器。

​erase​

​文法:​

void erase( ​iterator​ i );

void erase( ​iterator​ start, ​iterator​ end );

size_type erase( const key_type &key );

說明:

● 删除i元素;

● 删除從start開始到end結束的元素;

● 删除等于key值的所有元素(傳回被删除的元素的個數)。

​find​

​文法:​

​iterator​ find( const key_type &key );

在目前集合中查找等于key值的元素,并傳回指向該元素的疊代器;如果沒有找到,傳回指向集合最後一個元素的疊代器。

​get_allocator​

​文法:​

allocator_type get_allocator();

傳回目前集合的配置設定器。

​insert​

​文法:​

​iterator​ insert( ​iterator​ i, const ​TYPE​ &val );

void insert( ​input_iterator​ start, ​input_iterator​ end );

pair insert( const ​TYPE​ &val );

說明:

● 在疊代器i前插入val;

● 将疊代器start開始到end結束傳回内的元素插入到集合中;

● 在目前集合中插入val元素,并傳回指向該元素的疊代器和一個布爾值來說明val是否成功的被插入了。

(應該注意的是在集合(Sets)中不能插入兩個相同的元素。)

​lower_bound​

​文法:​

​iterator​ lower_bound( const key_type &key );

傳回一個指向大于或者等于key值的第一個元素的疊代器。

​key_comp​

​文法:​

key_compare key_comp();

傳回一個用于元素間值比較的函數對象。

​max_size​

​文法:​

size_type max_size();

傳回目前集合能容納元素的最大限值。

​rbegin​

​文法:​

​reverse_iterator​ rbegin();

傳回指向目前集合中最後一個元素的反向疊代器。

​rend​

​文法:​

​reverse_iterator​ rend();

傳回指向集合中第一個元素的反向疊代器。

​size​

​文法:​

size_type size();

傳回目前集合中元素的數目。

​swap​

​文法:​

void swap( set &object );

交換目前集合和object集合中的元素。

​upper_bound​

​文法:​

​iterator​ upper_bound( const key_type &key );

在目前集合中傳回一個指向大于Key值的元素的疊代器。

​value_comp​

​文法:​

value_compare value_comp();

傳回一個用于比較元素間的值的函數對象。

繼續閱讀