码迷,mamicode.com
首页 > 其他好文 > 详细

STL使用方法总结(入门)

时间:2018-05-10 23:45:28      阅读:362      评论:0      收藏:0      [点我收藏+]

标签:按键   总结   指针   font   下标   交换   The   map   tor   

Iterator

用于操作复杂的数据结构,类似于指针,指向数据结构的位置,*it用于读取数据

关于嵌套容器的迭代器使用:

set< vector<int> >::iterator it;

for(it=s.begin();it!=s.end();it++)

{

vector<int> ivec=*it;

for(vector<int>::iterator it2=ivec.begin();it2!=ivec.end();it2++)

cout<<*it2<<",";

ivec.clear();

cout<<endl;

}

 

 

Vector

可以随意插入,删除数据

  1. #include<vector>
  2. 定义及初始化

vector<int> vec;

Vector<int> vec(10);  指定元素个数

Vector<int>vec(arr,arr+n);

可以使用类似于数组的操作[]: vec[x];

  1. 基本操作:

Push_back() 添加到容器末尾

Size()  获取元素数量

Insert( pos, value)指定索引处插入元素

Insert(pos,cnt,value)指定索引处添加cnt个 value元素

Pop_back() 删除末位元素

Begin() 第一元素的迭代器

End() 迭代器

Swap()    void swap(vector &other)将两个矢量的内容交换

  1. 遍历

下标法:vec[i]  

迭代器法:

Vector<int>::iterator it;

For(it=vec.begin();it!=vec.end();it++)

Cout<<*iterator;

 

Stack

  1. #include<stack>
  2. 定义初始化

Stack<string>s;

  1. 基本操作:

  Push();

Pop(); 删除栈顶元素

Top(); 访问栈顶元素

Empty();

 

Queue

  1. #include<queue>
  2. Queue<int> q;
  3. Push(); 队尾插入

Pop(); 删除第一个元素

Empty();

Size();

 

 

Priopity_queue  

优先队列,实现自动排序

  1. #include<queue>
  2. Priopity_queue<int,vector<int>,greater<int> >pq; 从小到大

Priopity_queue<int,vector<int>,less<int> >pq; 从大到小

 

Map

元素默认按键的升序排列

  1. #include<map>
  2. Map<string,int>m;

可以使用类似数组的操作[]: m[key]=value

  1. 基本操作

Insert( make_pair<string,int>(key,value) ) 在原map后继续插入键值对

Insert( map<string,int>::value_type(key,value) ) 插入到map的最前面

获取map的key,value要用到迭代器

Map<string,int>::iterator it=m.begin(); 必须要获取迭代器首地址

String key=it->first; int val=it->second; 键key是第一个,值value是第二个

Erase(key); 根据key删除value

 

 

 

 

Set

元素默认升序排列

  1. #include<set>
  2. Set<int> s;

初始化:用数组存放数据,然后用数组初始化set

Int arr[5]={........};

Set<int> s(arr,arr+5);

自定义集合的排列顺序,编写class对象函数,判断大小:set<int,class> s;

  1. 基本操作:

Insert();

Erase();

Count(); 返回某个值元素的个数,也可用于判断集合中是否存在该值

Find(); 返回一个指向被查到元素的迭代器

 

STL使用方法总结(入门)

标签:按键   总结   指针   font   下标   交换   The   map   tor   

原文地址:https://www.cnblogs.com/lidan-prime/p/9021764.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!