赞
踩
vector概念
1:vector是表示可以改变大小的数组的序列容器。2倍增加
2:向量容器 : 从后面快速插入与删除,可以直接访问任何元素。
vector<int> v;
int n;
while(cin>>n){
//从**后面**快速插入与删除
v.push_back(n);
}
v[4]=40;//直接访问任何元素
list<int> v;
int n;
while(cin>>n){
v.push_back(n);//尾部添加元素
}
//list不可以随机访问元素
//v[4]=40;//修改元素
双端链表容器: 从前面或者后面快速插入与删除,可以直接访问任何元素。
容器 | 模板 | 特点 |
---|---|---|
映射容器 | map | 一对多映射,基于关键字快速查找,不允许重复值 |
多重映射容器 | multimap | 一对多映射,基于关键字快速查找,允许重复值 |
集合容器 | set | 快速查找,不允许重复值 |
多重集合容器 | multiset | 快速查找,允许重复值 |
容器 | 模板 | 特点 |
---|---|---|
栈容器 | stack | 后进先出(LIFO) |
队列容器 | queue | 先进后出(FIFO) |
优先级队列容器 | priority_queue | 最高优先级元素先出 |
vector<int> v;
vector<int> v1=(10);//10个大小
int arr[5]={1,2,3,4,5};
vector<int>v2(arr,arr+5);
vector<int>v3(v2);
vector<int>v4(10,100)//10个100
**注意:**容器的反向迭代器必须用相应的反向迭代器去接受reveres_iterator
//迭代器遍历 迭代器的使用方法类似于指针访问数组
vector<int>::iterator it=v.begin();
while(it!=v.end()){
cout<<*it<<" ";
++it;
}
vector<int>v4(10,100)//10个100
v4.insert(v.begin()+3,90);//在下标为3的位置插入90 如果插入超出范围吐核
vector<int>v4(10,100)//10个100
v4.insert(v.begin()+3,90);//在下标为3的位置插入90 如果插入超出范围吐核
v4.erase(v.begin()+3);
3.4 list特有函数
截取splice
删除remove
去重unique
合并merge
排序reverse
反转sort
#include<iostream> #include<list> using namespace std; int main(){ list<int> v; int n; while(cin>>n){ v.push_back(n);//尾部添加元素 } //list不可以随机访问元素 //v[4]=40;//修改元素 //遍历 //不成立 只有匹配迭代器才可以访问元素 /* for(int i=0;i<v.size();i++){ cout<<v[i]<<" "; }*/ cout<<endl; //删除尾部元素 v.pop_back(); /* for(int i=0;i<v.size();i++){ cout<<v[i]<<" "; } cout<<endl;*/ //迭代器遍历 迭代器的使用方法类似于指针访问数组 list<int>::iterator it=v.begin(); while(it!=v.end()){ cout<<*it<<" "; ++it; } cout<<endl; list<int>::iterator it1; for(it1=v.begin();it1!=v.end();++it1){ cout<<*it1<<" "; } cout<<endl; int arr[]={1,2,3,4,5,6,7,8}; list<int> l(arr,arr+8);//把数组首地址和最后一个元素的下一个地址 //好处 集合[i,j) 好处是可以表示空集[i,i) list<int>::iterator it2=v.begin(); while(it2!=v.end()){ cout<<*it2<<" "; } cout<<endl; list<int> w(10,100); cout<<w.size()<<endl; auto it=v.begin(); advance(it,3); v.insert(it,99); }
作者:jdzhangxin
链接:https://www.jianshu.com/p/f45c5cf6dd55
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
s
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。