STL中set的相关运用
来源:互联网 发布:semantic ui 怎么 js 编辑:程序博客网 时间:2024/04/19 23:16
set容器简介:
set是一个容器,它用于储存数据并且能从一个数据集合中取出数据。
它的每一个元素的值必须是唯一的,而且系统会根据该值来自动讲数据排序。每个元素的值不能直接改变。
头文件#include<set>
set的内部排序默认也是less<key>,key为关键字,就是数据类型
它提供一个双向的定位器来读写取数据;
它已经很据关键字和一个比较函数来排好序了;
它的每一个关键字都是唯一的,因此每一个值最多与一个元素对应
它是一个简单的容器,因为它的元素就是他的关键字
它是一个模板类, 因为它提供了一个一般且具有独立性的容器
1.set::insert
功能:插入一个数
2.set::begin
功能:返回第一个元素的定位器(iterator)的地址
#include<cstdio>#include<cstring>#include<set>#include<algorithm>using namespace std;int main(){ set<char>st; set<char>::iterator cp;//定位器 st.insert('a'); st.insert('b'); cp=st.begin();//定位到st的开始位置 printf("%c\n",*cp);}
3.set::end
功能:返回存储结束的地址
遍历所有set里面的值
#include<cstdio>#include<cstring>#include<set>#include<algorithm>using namespace std;int main(){ set<char>st; st.insert('a'); st.insert('b'); for(set<char>::iterator i=st.begin();i!=st.end();i++) printf("%c",*i);}
在这里加上一个反向迭代器reverse_iterator
#include<cstdio>#include<cstring>#include<set>#include<algorithm>using namespace std;int main(){ set<char>st; st.insert('a'); st.insert('b'); for(set<char>::reverse_iterator i=st.rbegin();i!=st.rend();i++) printf("%c",*i);}
上面注意begin和end前面都加上了一个r
4.set::erase
功能:与插入相同,可以高效的删除,并自动调整平衡
#include<cstdio>#include<cstring>#include<set>#include<algorithm>using namespace std;int main(){ set<char>st; st.insert('a'); st.insert('b'); st.insert('c'); st.erase('b'); for(set<char>::reverse_iterator i=st.rbegin();i!=st.rend();i++) printf("%c",*i);}
功能:讲一个set容器的全部元素删除.
#include<cstdio>#include<cstring>#include<set>#include<algorithm>using namespace std;int main(){ set<char>st; st.insert('a'); st.insert('b'); st.clear(); if(st.empty()) { printf("已清楚掉所有\n"); }}
6.set::find,若找到,返回的是迭代器的位置,否则返回最后一个元素后面的一个位置(结束位置)
#include<cstdio>#include<cstring>#include<set>#include<algorithm>using namespace std;int main(){ set<char>st; st.insert('a'); st.insert('b'); st.insert('c'); set<char>::iterator i=st.find('b'); if(i==st.end()) printf("没有找到\n"); else printf("%c",*i);}
0 0
- STL中set的相关运用
- STL中sort()的相关运用
- codeforces #296 div2 (527C) STL中set的运用
- stl中set相关算法
- STL 中 remove 的运用
- STL-set 简单运用示例
- STL set容器 基本运用
- STL set容器 基本运用
- STl 中set的用法
- STL中set的用法
- stl中set的使用
- STL中set的使用
- HDU 5058 So easy(STL 集合set的运用)
- HDU 5249 KPI(STL,set和queue的运用)
- UVA12096,STL stack和set,Map的综合运用
- HDU 5058 So easy(STL set运用)
- STL中set、map的比较函数
- STL中set与multiset的区别
- Basic CalculatorII
- 基于dede的一个自定义采集器
- Android Resource篇--- II 访问资源文件
- 提问的智慧
- 苹果Mac安装Dr.com
- STL中set的相关运用
- hdu 1856 并查序 特殊优化
- python初级了解
- 我的dubbo学习笔记
- [leetcode] 149. Max Points on a Line
- Unity3D 关于刚体(RigitBody)与碰撞体(Collider)的探索
- 长见错误
- LightOJ 1013 - Love Calculator
- 字符分割方法1