操作
效果
set c
產生乙個空的set/multiset,不含任何元素
set c(op)
以op為排序準則,產生乙個空的set/multiset
set c1(c2)
產生某個set/multiset的副本,所有元素都被拷貝
set c(beg,end)
以區間[beg,end)內的所有元素產生乙個set/multiset
set c(beg,end, op)
以op為排序準則,區間[beg,end)內的元素產生乙個set/multiset
c.~set()
銷毀所有元素,釋放記憶體
set產生乙個set,以(operator <)為排序準則
set產生乙個set,以op為排序準則
操作
效果
c.size()
返回當前的元素數量
c.empty ()
判斷大小是否為零,等同於0 == size(),效率更高
c.max_size()
返回能容納的元素最大數量
c1 == c2
判斷c1是否等於c2
c1 != c2
判斷c1是否不等於c2(等同於!(c1==c2))
c1 < c2
判斷c1是否小於c2
c1 > c2
判斷c1是否大於c2
c1 <= c2
判斷c1是否小於等於c2(等同於!(c2
c1 >= c2
判斷c1是否大於等於c2 (等同於!(c1
操作
效果
count (elem)
返回元素值為elem的個數
find(elem)
返回元素值為elem的第乙個元素,如果沒有返回end()
lower _bound(elem)
返回元素值為elem的第乙個可安插位置,也就是元素值 >= elem的第乙個元素位置
upper _bound (elem)
返回元素值為elem的最後乙個可安插位置,也就是元素值 > elem 的第乙個元素位置
equal_range (elem)
返回elem可安插的第乙個位置和最後乙個位置,也就是元素值==elem的區間
操作
效果
c1 = c2
將c2的元素全部給c1
c1.swap(c2)
將c1和c2 的元素互換
swap(c1,c2)
同上,全域性函式
操作
效果
c.begin()
返回乙個隨機訪問迭代器,指向第乙個元素
c.end()
返回乙個隨機訪問迭代器,指向最後乙個元素的下乙個位置
c.rbegin()
返回乙個逆向迭代器,指向逆向迭代的第乙個元素
c.rend()
返回乙個逆向迭代器,指向逆向迭代的最後乙個元素的下乙個位置
操作
效果
c.insert(elem)
插入乙個elem副本,返回新元素位置,無論插入成功與否。
c.insert(pos, elem)
安插乙個elem元素副本,返回新元素位置,pos為收索起點,提公升插入速度。
c.insert(beg,end)
將區間[beg,end)所有的元素安插到c,無返回值。
c.erase(elem)
刪除與elem相等的所有元素,返回被移除的元素個數。
c.erase(pos)
移除迭代器pos所指位置元素,無返回值。
c.erase(beg,end)
移除區間[beg,end)所有元素,無返回值。
c.clear()
移除所有元素,將容器清空
STL 排序容器multiset和set用法詳解
前言 希望在大量資料中進行的元素增加 刪除 查詢都在log n 複雜度內完成,排序 二分查詢顯然不可以,因為新加入資料就要進行重新排序。而使用 平衡二叉樹 資料結構存放資料就可以達到目的,在stl中體現為以下四種排序容器 multiset set multimap map。標頭檔案 include ...
set和multiset容器簡介
set和multiset容器簡介 開發工具與關鍵技術 c visualstudioset 是乙個集合容器,其中所包含的元素是唯一的,集合中的元素按一定的順序排列。它其他的 容器不同,它是不能指定位置插入的,它的元素插入過程是按排序規則插入的。set雖然不能指定位置插入,但是在插入和刪除操作較快,因為...
set和multiset小練習
set容器小練習.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。題目 include include include include using namespace std struct calltable void calltable init const string name...