C++中set的用法詳解
C++中set的用法
set的特性是,所有元素都會根據元素的鍵值自動排序,set的元素不像map那樣可以同時擁有實值(value)和鍵值(key),set元素的鍵值就是實值,實值就是鍵值。set不允許兩個元素有相同的鍵值。
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()–返回一個用於比較元素間的值的函式
#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++中的STL中map用法詳解
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 作用域規則告訴我們一個變量的有效範圍,它在哪兒創建,在哪兒銷毀(也就是說超出了作用域)。變量的有效作用域從它的定義點開始,到和定義變量之前最鄰近的開括號配對的第一個閉括號。也就是說,作
Python中enumerate用法詳解
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+
Java中SimpleDateFormat用法詳解
轉自: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>