STL容器之set用法

2021-10-09 09:35:51 字數 951 閱讀 5216

目錄

一、set容器概念

二、set構造和基本函式介面

三、統計和查詢

set是一種關聯式容器,底層是通過平衡二叉樹(紅黑樹)實現的,插入、刪除和查詢效率都非常高,所有元素插入容器中,會被預設以公升序的形式進行排序,而且不允許插入已經存在且相同的資料元素。此外還有乙個multiset容器,它的底層實現原理也是平衡二叉樹,但是它允許重複的元素出現。

(1)setset_test:預設構造,即無參構造;

(2)setset_test( const set& s ):拷貝構造;

(3)set& operator =():直接利用等號操作賦值;

(4)insert( elem ):向set容器加入元素elem,set容器中沒有類似於vector等容器的push和pop操作,加入的資料元素的只有這乙個;

(5)erase( pos ):刪除迭代器pos位置的元素;

(6)erase( begin,end) :刪除迭代器區間[begin,end)的元素;

(7)erase( elem ):該介面無需迭代器,直接刪除elem元素;

(8)clear():清空set容器;

(9)empty():判斷set容器是否為空;

(10)size():返回set容器元素的個數

void constructortest()

}

(1)find( elem ):查詢函式介面,當查詢到elem元素時,會返回相應的迭代器,反之返回end()迭代器;

(2)count( elem ):統計元素的個數,該介面在set容器中,返回的要麼0(沒有該元素),要麼返回1(set不允許有重複的元素存在);在multiset容器中,則不一樣,它允許有重複的元素出現,故返回值可能大於1。

void findcount()

STL學習之set容器

set容器只是單純的鍵的集合。除了兩種例外情況外,set容器支援大部分的map操作。建構函式 cpp view plain copy explicit set const compare comp compare const allocator allocator template class in...

STL之set的用法

1.關於set 首先,set是關聯容器,set作為乙個容器是用來儲存同一種資料型別的資料結構,基本功能與陣列相似。不同的是,在set中每個元素的值都是唯一的。而且系統能夠根據元素的值自動進行排序。但是set中數元素的值並不能直接被改變。除了set,stl中還有一些標準關聯容器multiset map...

STL容器Set的使用

首先了解一下set,我們所知道的set是stl中的乙個容器,但是set實質上也是有不同的版本,我們最根本的劃分就是根據其底層實現分別是紅黑樹和hash表分為兩種,首先這兩種結構最本質的區別就是有序和無序,紅黑樹的儲存是有序的而hash表是無序儲存,但它並不影響set的最主要的用法就是查詢,而從查詢角...