1. 程式人生 > >c++中set的用法

c++中set的用法

對於set這個容器,儲存的是自動排序的獨特元素。也就是說,在這個容器中,所有的元素都是唯一的。

set的元素不像map那樣可以同時擁有實值(value)和鍵值(key),set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。所以set可以理解成一個特殊的map,底層跟map一樣用的也是紅黑樹,它的很多成員函式也跟map非常相似。

查詢效率也和map一樣,都是O(log n)。

set的各成員函式列表如下:

1. begin()--返回指向第一個元素的迭代器

2. clear()--清除所有元素

3. count()--如果set中包含某元素,返回1,不包含則返回0。可以起到find的作用

4. empty()--如果集合為空,返回true

5. end()--返回指向最後一個元素的迭代器

6. erase()--刪除集合中的元素

7. find()--返回一個指向被查詢到元素的迭代器,找不到則返回end位置迭代器

8. insert()--在集合中插入元素。返回一個pair,pair::first指向插入元素的迭代器(成功)或者已有元素的迭代器(失敗);pair::second為true或者false。

9. max_size()--返回集合能容納的元素的最大限值

10. rbegin()--返回指向集合中最後一個元素的反向迭代器

11. rend()--返回指向集合中第一個元素的反向迭代器

12. size()--集合中元素的數目

13. swap()--交換兩個集合變數

除此之外,就像map有個unordered_map一樣,set也有一個查詢效率更高的unordered_set,具體的後面補充