1. 程式人生 > >C++中set的用法詳解

C++中set的用法詳解

C++中set的用法
set的特性是,所有元素都會根據元素的鍵值自動排序,set的元素不像map那樣可以同時擁有實值(value)和鍵值(key),set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。

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

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

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

  3. count()–返回某個值元素的個數

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

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

  6. equal_range()–返回集合中與給定值相等的上下限的兩個迭代器

  7. erase()–刪除集合中的元素

  8. find()–返回一個指向被查詢到元素的迭代器

  9. get_allocator()–返回集合的分配器

  10. insert()–在集合中插入元素

  11. lower_bound()–返回指向大於(或等於)某值的第一個元素的迭代器

  12. key_comp()–返回一個用於元素間值比較的函式

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

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

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

  16. size()–集合中元素的數目

  17. swap()–交換兩個集合變數

  18. upper_bound()–返回大於某個值元素的迭代器

  19. value_comp()–返回一個用於比較元素間的值的函式

#include<set>
#include<iostream> using namespace std; int main() { int i; int arr[5] = {0,1,2,3,4}; set<int> iset(arr,arr+5); iset.insert(5); cout<<"size:"<<iset.size()<<endl; cout<<"3 count = "<<iset.count(3)<<endl; iset.erase(1); set
<int>
::iterator ite1 = iset.begin(); set<int>::iterator ite2 = iset.end(); for(;ite1!=ite2;ite1++) { cout<<*ite1; } cout<<endl; ite1 = iset.find(3); if(ite1!=iset.end()) cout<<"3 found"<<endl; ite1 = iset.find(1); if(ite1!=iset.end()) cout<<"1 not found"<<endl; }

相關推薦

C++set用法

1.關於set C++ STL 之所以得到廣泛的讚譽,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封裝了許多複雜的資料結構演算法和大量常用資料結構操作。vector封裝陣列,list封裝了連結串列,map和se

C#const用法

htm 鏈接 服務器 span img body 用法詳解 -s 設計 本文實例講述了C#中const用法。分享給大家供大家參考。具體用法分析如下: const是一個c語言的關鍵字,它限定一個變量不允許被改變。使用const在一定程度上可以提高程序的安全性和可靠性,另外,

C#protected用法

base 而是 報錯 public 我們 此刻 訪問 .html 定義 轉自(https://www.cnblogs.com/wangyt223/archive/2012/08/08/2627801.html) 在c#的可訪問性級別中,public和private算是最

C++list用法

1.關於list容器 list是一種序列式容器。list容器完成的功能實際上和資料結構中的雙向連結串列是極其相似的,list中的資料元素是通過連結串列指標串連成邏輯意義上的線性表,也就是list也具有連結串列的主要優點,即:在連結串列的任一位置進行元素的插入、刪除操作都

C++map用法

   Map是c++的一個標準容器,她提供了很好一對一的關係,在一些程式中建立一個map可以起到事半功倍的效果,總結了一些map基本簡單實用的操作! 1. map最基本的建構函式;    map<string , int >mapstring;         map<int ,string

c/c++define用法及程式碼示例

c++中define用法 define在c++語言中用法比較多,這裡對其進行整理。 1.無參巨集定義 無參巨集的巨集名後不帶引數。 其定義的一般形式為: #define 識別符號 字串 其中的“#”表示這是一條預處理命令。凡是以“#”開頭的均為預

C++的STLmap用法

Map是STL的一個關聯容器,它提供一對一(其中第一個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值)的資料 處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑樹(一 種非嚴格意義上的平衡

C++ set 用法

set 是數學中“集合”概念的實現,故 set 中不會存在任意兩個相同的元素。 定義 set<int> set_1 初始化 由於 set 中不允許有重複的元素,故 set 物件只接受列表初始化(C11 標準支援),如 set<int> set

C/C++extern關鍵字

編譯器 fin 生成 接口 bcd 只需要 c++環境 結束 編程 轉自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 1 基本解釋:extern可以置於變量或者函數前,以標示變量或者

C/C++作用域(轉)

防止 局部作用域 gist 文件中 方式 為什麽不使用 形式參數 lan archive 作用域規則告訴我們一個變量的有效範圍,它在哪兒創建,在哪兒銷毀(也就是說超出了作用域)。變量的有效作用域從它的定義點開始,到和定義變量之前最鄰近的開括號配對的第一個閉括號。也就是說,作

Pythonenumerate用法

num readline 文件的 簡單 += () 用法 字符 計數 enumerate()是python的內置函數、適用於python2.x和python3.xenumerate在字典上是枚舉、列舉的意思enumerate參數為可遍歷/可叠代的對象(如列表、字符串)enu

c/c++static的

extern info system pan 特點 靜態成員 額外 定義 全局 C 語言的 static 關鍵字有三種(具體來說是兩種)用途: 1. 靜態局部變量:用於函數體內部修飾變量,這種變量的生存期長於該函數。 int foo(){ st

C#ToString()格式

padding design otn href 有效 詳解 pattern console AS 以下內容均摘自博客園,僅供資料查詢。原文連接http://www.cnblogs.com/xdotnet/archive/2009/01/17/tostring_format.

C++的繼承

C++ 繼承 [TOC] 繼承基本知識 定義:  繼承是面向對復用的重要手段。通過繼承定義一個類,繼承是類型之間的關系建模,共享公有的東西,實現各自本質不同的東西。 繼承關系:  三種繼承關系下基類成員的在派生類的訪問關系變化(圖) 舉個栗子(公有繼承) ```c+

JavaSimpleDateFormat用法

轉自:http://blog.csdn.net/linbooooo1987/article/details/7540999 [java]  view plain  copy

C++列舉enum

轉載部落格地址:https://blog.csdn.net/bruce_0712/article/details/54984371     眾所周知,C/C++語言可以使用#define和const建立符號常量,而使用enum工具不僅能夠建立符號常量,還能定義新

C/C++volatile關鍵字

asm 運行 多線程並發 這樣的 修改 由於 設定 其他 硬件 1. 為什麽用volatile? C/C++ 中的 volatile 關鍵字和 const 對應,用來修飾變量,通常用於建立語言級別的 memory barrier。這是 BS 在 "The C++ P

《隨筆十七》—— C++的 “ 指標

目錄 指標的概念 指標所指向的型別 指標的值 指標本身所佔據的記憶體區 指標的算術運算          運算子&和* 指標表示式 陣列和指標的關係 指標和結構型別的關係 指標和函式的關係

C++的string

標準庫型別string表示可變長的字元序列,為了在程式中使用string型別,我們必須包含標頭檔案: #include <string>  宣告一個字串 宣告一個字串有很多種方式,具體如下: 1 string s;//呼叫預設建構函式,s為一個空

C++string類(轉載)(最下面有程式碼實現)

作者:yzl_rex 來源:CSDN 原文:https://blog.csdn.net/yzl_rex/article/details/7839379 要想使用標準C++中string類,必須要包含 #include < string>// 注意是< string>