c++中stl容器的常用示例

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

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

c++中stl容器的常用示例

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

c++中stl容器的常用示例

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();

c++中stl容器的常用示例

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

c++中stl容器的常用示例

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

c++中stl容器的常用示例

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

c++中stl容器的常用示例

待续……

上一篇:iOS开发中的Get请求和POST请求


下一篇:国内最给力五大免费VPN商家