序列式容器有很多种,我们今天学习其中常用的三个,分别是vector,deque,list,下面我们分别来介绍他们的基本用法。
- vector向量容器
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int i;
vector<int> v; //创建一个空的vector对象
for(i=0;i<10;i++)
v.push_back(i+1); //将元素依次添加到v中
for(i=0;i<10;i++)
cout << v[i] << " "; //输出元素
cout << endl;
v.pop_back(); //移除末尾元素
for(i=0;i<9;i++)
cout << v[i] << " "; //输出现在元素
cout <<endl;
v.insert(v.begin(),5); //在beign的位置插入5
v.insert(v.begin()+1,2);
for(i=0;i<11;i++)
cout << v[i] << " ";
cout << endl;
v.erase(v.begin(),v.begin()+1); //删除begin的位置和begin+1的位置之间的元素
for(i=0;i<9;i++)
cout << v[i] << " ";
cout << endl;
return 0;
}
代码实现结果
- deque双端队列
#include<iostream>
#include<deque>
using namespace std;
int main()
{
int i;
deque<int> d(10);
for(i=0;i<10;i++)
d[i] = i;
cout << "赋值后容器的元素为:" << endl;
for(i=0;i<10;i++)
cout << d[i] << " ";
cout << endl;
d.push_front(99); //在头部插入99
d.push_back(77); //在尾部插入77
cout << "在头尾部插入元素后:" << endl;
for(i=0;i<12;i++)
cout << d.at(i) << " "; //.at的输出方法,访问i中的元素
cout << endl;
d.pop_front(); //删除头部的元素
d.pop_back(); //删除尾部的元素
cout << "删除头尾部后元素为:" << endl;
for(i=0;i<10;i++)
cout << d.at(i) << " ";
cout << endl;
return 0;
}
代码实现结果
- list列表
merge()函数和sort()函数
#include<iostream>
#include<list>
using namespace std;
//定义一个函数,输出list元素
void print(list<int> mylist)
{
for(list<int>::iterator it = mylist.begin();it != mylist.end();it++)
cout << *it << " ";
cout << endl;
}
int main()
{
int i;
list<int> lt1,lt2;
lt1.push_back(12);
lt1.push_back(6);
lt1.push_back(32);
lt2.push_back(45);
lt2.push_back(9);
cout << "lt1: ";
print(lt1);
cout << "lt2: ";
print(lt2);
lt1.sort(); //对lt1进行排序
cout << "lt1排序后:";
print(lt1);
lt1.merge(lt2); //合并两个容器
cout << "合并两个容器后:";
print(lt1);
lt2.push_back(15);
lt2.push_back(7);
lt1.splice(lt1.end(),lt2,lt2.begin()); //调用函数将lt2的第一个元素插入到lt1末尾
cout << "插入后的lt1: ";
print(lt1);
cout << "插入后的lt2: ";
print(lt2);
return 0;
}
小生来此
空闻来声
一入无门
不枉小生