C++STL 库中set容器应用

#include<iostream>
#include<cstdio>
#include<set>
using namespace std;
set<int> a;
int main()
{
    //插入元素
    a.insert(1);
    a.insert(3);
    a.insert(5);
    //用迭代器遍历容器;
    set<int>::iterator it;
    for(it=a.begin(); it!=a.end(); it++)
    {
        cout<<*it<<endl;
    }
    //find(key_value) 若查找成功返回迭代器位置,否则返回容器最后一个元素的后一个位置
    if(a.find(1)!=a.end())
    {
        cout<<"find success"<<endl;
    }
    else
    {
        cout<<"losing finding"<<endl;
    }
    //count(key_value) 若查找成功返回true, 否则返回false
    if(a.count(1)==true)
    {
        cout<<"find success"<<endl;
    }
    else
    {
        cout<<"losing finding"<<endl;
    }
    //size()返回容器中元素个数
    cout<<"set中的元素个数是"<<a.size()<<endl;
    //clera()将容器清空
    a.clear();
    //empty()判断容器是否为空
    if(a.empty())
    {
        cout<<"set is empty"<<endl;
    }
    else
    {
        cout<<"set is not empty"<<endl;
    }

    return 0;
}
时间: 2024-08-28 05:48:09

C++STL 库中set容器应用的相关文章

C++STL库中vector容器常用应用

#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { vector<int> vec; vec.push_back(1);//在尾部插入元素 vec.push_back(2); // cout<<vec[1];//按下标访问元素,从[0]开始 /* //使用迭代器访问元素 vector<int>::iterat

C++STL库中map容器常用应用

#include<iostream> #include<cstdio> #include<map> //按键值大小构成二叉搜索树 using namespace std; map<int, string> a; int main() { a.insert(map<int, string>::value_type(1,"li")); a.insert(map<int, string>::value_type(1,&q

sort在STL库中是排序函数

sort在STL库中是排序函数,有时冒泡.选择等O(N^2)算法会超时时,我们可以使用STL中的快速排序O(N log N)完成排序 sort在<algorithm>库里面,原型如下: 1 2 3 4 template <class RandomAccessIterator>  void sort ( RandomAccessIterator first, RandomAccessIterator last ); template <class RandomAccessIte

《深入实践C++模板编程》之六——标准库中的容器

1.容器的基本要求 a.并非所有的数据都可以放进容器当中.各种容器模板对所存数据类型都有一个基本要求——可复制构造.将数据放进容器的过程就是通过数据的复制构造函数在容器内创建数据的一个副本的过程. b.容器中必须有若干与所存数据类型有关的嵌套定义类型. C::value_type 容器所存数据类型 C::reference 容器数据的引用类型 C::const_reference 容器数据的只读引用类型 C::size_type 容器容量类型,通常是一个无符号整数类型 c.除嵌套类型定义外,容器

STL库中简单的list类模板示例和一个小的延时程序

先贴代码: #include "stdafx.h" #include <iostream> #include <list> #include <ctime> using namespace std; void mysleep(int second) { clock_t st; st=clock();//该程序从启动到函数调用占用CPU的时间 while(clock()-st<second*CLOCKS_PER_SEC);//#define CL

STL库中的正态分布函数

在设计抽奖一类程序中,有时会需要一种概率“有较大可能获得一个普通结果,有较小可能获得一个糟糕或极好的结果”,这就可以用正态分布函数来获得这样一个结果. STL中已经提供了一系列随机分布的函数,包括正态分布,泊松分布等 头文件: random 函数: std::normal_distribution<type> distribution( σ,μ ) 其中σ为正态分布的平均数学期望,也就是正态曲线中高峰的x值,μ值越大曲线坡度约缓,反之则越陡,在x轴上, (0,σ * μ) 占据了曲线的大部分空

STL库中string类的探究

在STL中有着一个类就是string类,他的内存布局和存储机制究竟是怎么样的呢? 这就是建立好的string 可以看出,图中用黄色框框标注的部分就是主要区域 我们用来给string对象进行初始化的字符串被存储在了_Buf当中,_Mysize和_Myres就不用说了,就是上面的size 和 capacity 的值. 当只有一个字符作为字符串的时候,就可以很明显的看出来了,_Mysize是指字符串的length _Myres还是没有改变,_Myres最大就是15么? 此时还没有变化,再加入一个字符

C++ STL库中各种有用的库函数

__builtin_popcount(i);//计算i的二进制表示中1的个数 int a[M] , b[M] ; memcpy(a+i , b+j , sizeof(int)*s) ; //把b数组中[j , j+s-1]这段复制到a数组中[i , i+s-1]

【转】next_permutation和prev_permutation(STL库中的全排列函数)用法

这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<algorithm> 下面是以前的笔记    与之完全相反的函数还有prev_permutation,查询当前排序上一个字典序.   返回为bool型,若返回true则成功生成,返回false则失败,还原到升序或降序的排列,与sort连用风味更佳   (1) int 类型的next_permutation   int main() {  int a[3]; a[0]=1;a[1]=2;a[2]=3;  do { cout<