STL泛型编程学习之vector向量容器

1.vector向量容器简介

不但能像数组一样对元素进行访问,还能在尾部进行追加元素,是一种简单,高效的可替代数组的的容器。

2.vector向量容器功能描述

vector向量容器具有内存自动管理的功能,对于元素进行插入和删除,可以动态调整内存空间;vector容器的下标从0开始计算;对于容器容量的定于,既可以事先定义也可以利用push_back()方法在容器尾部追加,也可以用insert()方法插入;其最重要的两种方法:begin(),返回的是首元素位置的迭代器。end(),返回的是最后一个元素的下一个位置的迭代器。

3.代码实现对容器的操作


#include<algorithm>
#include<iostream>
#include<vector>
#include<numeric>
using  namespace std; 
int main(int argc,char *argv[])
{
	vector<int> v;//或者vector<int> v(10);
	int i;
	for(i=0;i<10;i++)
	{
		v.push_back(i);//使用尾部元素扩张方式赋值
		//v[i]=i; //使用下标 
		
	}
	

	//使用iterator迭代器顺序遍历
	//操作方法reverse() 
	reverse(v.begin(),v.end());//使用reverse()反向排序 
	for(vector<int>::iterator it=v.begin();it!=v.end();it++)//使用迭代器顺序输出
	{
		cout<<*it<<" ";
	}
	cout<<endl;
	
	
	//使用erase()删除某个位置或某段区间内的元素v.erase() 
	v.erase(v.begin()+5);// 删除第五个元素,计数从0开始
	for(vector<int>::iterator it=v.begin();it!=v.end();it++)
	{
		cout<<*it<<" ";
	}
	cout<<endl; 
	
	
	//insert() 操作
	v.insert(v.begin(),10);//在最前面插入元素 10
	v.insert(v.begin()+2,100);//在第二个元素前插入1
	v.insert(v.end(),10000);//在最后面追加元素10000 
	for(vector<int>::iterator it=v.begin();it!=v.end();it++)
	{
		cout<<*it<<" ";
	}
	
	cout<<endl;

	cout<<v.size()<<endl;//size()方法
	cout<<v.empty()<<endl;//向量是否为空,为空则返回1 
	
	
	//sort() 排序操作
	for(int i=0;i<10;i++)
	{
		//v.push_back(i);//使用尾部元素扩张方式赋值
		v[i]=9-i; //使用下标 	
	
	}
	sort(v.begin(),v.end());
	for(vector<int>::iterator it=v.begin();it!=v.end();it++)
	{
		cout<<*it<<" ";
	}
	return 0;
		
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值