1、 set(集合)——包含了经过排序了的数据,这些数据的值(value)必须是唯一的。

也就是说输入set容器后得到数据,会去重并排序。
    s.insert()插入一个元素
    s.begin() s.end()分别返回首尾指针
    s.clear() 清空集合
   遍历需要利用迭代器set<类型>::iterator 变量名 ;

2、stringstream(容器)—— 可以将放入其中的string串按空格分隔成单词(感觉就是一个过滤的)

3、vector(不定长数组)——不需要定义初始长度的数组
    v.push_back()向尾部插入一个元素
    v.size()返回数组大小
    v.pop_back()删除最后一个元素
    v.insert(v[0]+i,a)在第i+1个元素后插入元素a
   常用的就这几个成员函数,看看粘的网上的介绍:

基本操作

(1)头文件#include<vector>.

(2)创建vector对象,vector<int> vec;

(3)尾部插入数字:vec.push_back(a);

(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。

(5)使用迭代器访问元素.

vector<int>::iterator it;for(it=vec.begin();it!=vec.end();it++) cout<<*it<<endl;

(6)插入元素:    vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;

(7)删除元素:    vec.erase(vec.begin()+2);删除第3个元素

vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始

(8)向量大小:vec.size();

(9)清空:vec.clear();

4、map(映射)——map就是从键(key)到值(value)的映射。例如可以这样用:
先定义map<string,int> m;    赋值m["green"]=8 。看起来就是数组的高级版,可以改变下标的表示。
当遇到让我们计算 一篇文章中某单词出现的次数时,(如果它只提问一次单词a出现的次数,那么我们直接遍历一次,但是如果它问了很多次时,总不能一遍遍遍历吧,会超时的)这时候就用到映射了。
直接看示例:

5、queue(队列)——“先进先出”的一种数据结构,感觉这些容器就是把数组改造,添加一些成员函数,使它用起来更方便些,理解的时候可以对照如果用数组实现这样的功能有多麻烦。
其本操作:
1、定义:queue<int> q;
2、  q.push(a) 将元素a加入队列    
        q.front()访问首元素      
        q.back() 访问尾元素 
        q.pop() 删除首元素 
        q.size()返回元素个数
       q.empty()判断队列是否为空

6、stack(栈)——“先进后出”的一种数据结构,和队列类比看。 
其本操作:
1、定义:stack<int> s;
2、  s.push(a) 将元素a压入栈    
        s.top()访问栈顶元素      
        s.pop() 删除栈顶元素 
        s.size()返回元素个数
        s.empty()判断栈是否为空

待续……

c++中stl容器的常用示例的更多相关文章

  1. C++中vector容器的常用操作方法实例总结

    C++中vector容器的常用操作方法实例总结 参考 1. C++中vector容器的常用操作方法实例总结: 完

  2. C++中STL容器的比较

    基本参考 https://blog.csdn.net/qq_14898543/article/details/51381642 容器特性: vector:典型的序列容器,C++标准严格要求次容器的实现 ...

  3. STL容器的常用用法

    STL: 1.vector: vector<int> v;vector<int> v(10);//定义大小为10的int型向量容器.vector<int> v(10 ...

  4. c++中STL容器中的排序

    1.c++STL中只有list自带了排序函数: (1).若list中存放的是int类型或者string类型,直接利用sort即可: list <int> list1;           ...

  5. C++中STL常用容器的优点和缺点

    我们常用到的STL容器有vector.list.deque.map.multimap.set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我 ...

  6. C++中STL常用容器的区别(转)

    我们常用到的STL容器有vector.list.deque.map.multimap.set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我 ...

  7. 刷题常用的STL容器总结

    本文归纳总结刷题常用到STL容器以及一些标准算法,主要包括: string.vector.map.pair.unordered_map.set.queue.priority_queue.stack,以 ...

  8. 【转】c++中Vector等STL容器的自定义排序

    如果要自己定义STL容器的元素类最好满足STL容器对元素的要求    必须要求:     1.Copy构造函数     2.赋值=操作符     3.能够销毁对象的析构函数    另外:     1. ...

  9. 【pat】C++之刷题常用STL容器整理

    1.vector 动态数组,方便的动态扩容,方便的变量初始化(int类型默认初始化为0,bool默认初始化为false),可以用来实现邻接表(结点数太多的图). 头文件 #include<vec ...

随机推荐

  1. ORA-12571: TNS:packet writer failure

    ORA-12571:TNS:包复写器失效 2007-05-28 22:04 ORA-12571:TNS:包复写器失效 近日一直在做Oracle数据库的搭建(入门),在搭建过程中遇到“ORA-12571 ...

  2. adb使用

    一.使用adb删除系统应用,如Launcher.apk adb root                 获取root权限 adb remount          挂载系统的读写权限 adb she ...

  3. table变宽格式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Copy15G的初始容量,注册就再送5G,邀请注册的人也送5G

    Copy15G的初始容量,注册就再送5G,邀请注册的人也送5G,可谓是史上最隆重最给力的容量赠送活动~~~https://copy.com?r=kFpfsZ

  5. WPF中如何用代码触发按钮Click处理

    btnOk.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));

  6. 使用 Windows10 自定义交互消息通知

    消息通知是最常用的应用功能之一了,但是由于平台的差异,IOS Android 以及 Windows 都有其特殊性,Android开发者在国内常常都是使用三方的一些推送服务,或者是使用自建的服务器为应用 ...

  7. 转:php park、unpark、ord 函数使用方法(二进制流接口应用实例)

    在工作中,我也逐渐了解到park,unpark,ord对于二进制字节处理的强大. 下面我逐一介绍它们.     park,unpark,ord这3个函数,在我们工作中,用到它们的估计不多. 我在最近一 ...

  8. 解决eclipse中android添加重载函数时参数为arg0,arg1的问题

    遇到同样的问题,发现有人已经解决了,大体意思就是为android sdk 添加 src,以下是文章链接 http://blog.csdn.net/u014084081/article/details/ ...

  9. Code the Tree(图论,树)

    ZOJ Problem Set - 1097 Code the Tree Time Limit: 2 Seconds      Memory Limit: 65536 KB A tree (i.e. ...

  10. 无插件纯Web HTML5 3D机房 终结篇(新增资产管理、动环监控等内容)

    原本以为这次的机房资产管理项目告一段落,可以歇一歇,哥还是太天真了.我们伟大的甲方又拿下了第二期的项目,誓把哥的才华发挥到极致啊.国庆长假也没正经休息几天,硬是给人折腾出了个demo,加上了容量管理. ...