C++之STL序列式容器基本用法(小白篇)

序列式容器有很多种,我们今天学习其中常用的三个,分别是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;
}

在这里插入图片描述

小生来此
空闻来声
一入无门
不枉小生

猜你喜欢

转载自blog.csdn.net/qq_43422942/article/details/89280903