set容器的用法

Set是一种关联容器,存储有序且唯一的键值;其大多用法和vector相同就不多加解释,只阐述它的特殊性;

1.头文件<set>;

2.添加元素——a.insret();

3.清除键值元素——a.erase(m); m表示你要清除的元素值,而不是元素的位置;

4.元素的遍历方向

  前向遍历

    set<int> a;
    for(set<int> :: iterator oss = a.begin();oss != a.end();oss++)
    {
        cout << *oss << " ";
    }

  后序遍历

for(set<int> :: reverse_iterator oss = a.rbegin();oss != a.rend();oss++)
{
     cout << *oss << " ";
}

5.元素的逆序排列;(简单的——可添加)

重载“()”操作符;

struct Comp
{
    bool operator()(const int&x ,const int&y)//重写操作符operator();
    {
        if(x!=y)
            return x>y;
        else
            return x>y;
    }
};
int main()
{
    set<int,Comp> a;
    a.insert(1);
    a.insert(2);
    a.insert(3);
    for(set<int,Comp> :: iterator oss = a.begin();oss != a.end();oss++)
    {
        cout << *oss << " ";
    }
    cout << endl;
    return 0;
}
时间: 2024-11-03 21:24:01

set容器的用法的相关文章

C++ 容器的用法

C++中的容器类包括"顺序存储结构"和"关联存储结构",前者包括vector,list,deque等是线性的:后者包括set,map,multiset,multimap等则能够通过key访问元素,multimap,multiset 允许一个key对应多个元素,这和数学中的映射道理一样,完全映射,多重映射....下面介绍一下map的使用,其他的使用方法类似. 一.map的说明 1   头文件 #include   <map> 2   定义 map<s

STL容器set用法以及codeforces 685B

以前没怎么用过set,然后挂训练赛的时候发现set的妙用,结合网上用法一边学一边写. 首先set是一种容器,可以跟其他STL容器一样用 set<int > s 来定义, 它包含在STL头文件#include<set>中. 其内部是用红黑树来实现的, 一个是保证set里面是有序的, 默认的排序是从小到大排序, 而且set容器的元素都是唯一的, 如果里面的元素允许重复那就用 multiset 容器来实现. 1. set的常用操作 s.begin() 返回set容器的第一个元素的位置(第

vector容器经常用法

容器简单介绍 定义及初始化 末尾插入元素 遍历 size 函数是能够动态添加的 通过下标操作添加改变vector内容不是安全的操作 仅能对已存在元素进行下标操作不存在会crash 将元素一个容器复制给另外一个容器类型必须匹配容器类型和元素类型必须同样 迭代器简单介绍 定义 begin和end操作 迭代器的自增和解引用操作 迭代器的算术操作 const_iterator 仅仅读 高级使用方法 容器元素类型必须满足例如以下两个约束 顺序容器的操作 加入元素的操作 避免存储end操作返回的迭代器 关系

【技术向】vector容器的用法

部分转自:http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html 在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1. 初始化 1 vector <Elem> // 创建一个空的vector. 2 vector <Elem> c1(c2) // 复制一个vector 3 vector <Elem> c(n) // 创建一个vector,含有n个数据,数据均已缺省构造产生 4 ve

vector容器的用法以及动态数组

vector容器不必去管大小 string申明的数组已经是动态的了 若是int类型的话,需要 cin>>N: int a[N]会出错 ,必须是int *p = new int[N] 然后再手动释放空间

c++ list容器基本用法

基本用法 #include<iostream> #include<time.h> #include<vector> #include<list> using namespace std; void main() { int a[] = {33,44,55,66,77,88}; int i; list<int> lst(a,a+5); list<int>::iterator it;//list只能用迭代器指针循环遍历 cout <

laravel 服务容器的用法

建立一个服务 <?php namespace App\Services; class FooService { public function __construct(){ } public function doSomething(){ echo "some"; } } 绑定服务 $this->app->bind('\App\Services\FooService'); 在控制器里调用$fooService = app()->make('\App\Servic

JSP---JSP中4个容器-pageContext使用

这里重点只讲pageContext容器的用法哦. 因为另外的3个容器(request,session,application)在前面的servlet中已经演示过很多遍了 容器 作用域 pageContex 仅仅是当前页面,无法传参 request 当前页面,可以传参 session 同一个JSESSIONID共用一个 application 只要服务器还没重新启动,就一直存在 详细介绍: pageContext – 它的作用范围仅为当前JSP页面. request – 对于用户的一次请求有效,请

2.1 Spring容器的基本实现--Spring源码深度解析

容器基本用法: bean 是 Spring 中最核心的东西. 我们先看一下 bean 的定义: public class MyTestBean{ private String testStr = "testStr"; public String getTestStr(){ return testStr; } public void setTestStr(String testStr){ this.testStr = testStr; } } bean没有任何特别之处,的确,Spring