vector定义与删除

1.vector容器类可以存放任何类型的对象,vector类的定义与初始化:

vector<string> v1;//创建容器,其对象类型为string类
vector<string> v2(10);//创建有10个具有初使值为string对象的容器
vector<string> v3(5,"hello");//创建有5个值为“hello”的string类的对象容器
vector<string> v4(v3.begin(),v3.end());//v4与v3相同的容器(完全复制)

2.例子:vector添加元素和输出元素,如数组

#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;

int main(void)
{
	int i=0;
	vector<int> v;

	for(i=0;i<10;i++)
	{
		v.push_back(i);//v.push_back()把元素一个一个放到vector中
	}

	for(i=0;i<v.size();i++)//v.size()表示vector存入元素的个数
	{
		printf("%d\n",v[i]);
		printf("%d\n",v.at(i));
	}
	
//注:可以用迭代v.begin和v.end来得到vector开始和借宿的元素地址的指针位置。
	vector<int>::iterator iter; //iterator 抽象指针的大部分特征
	for(iter=v.begin();iter!=v.end();iter++)
	{
		printf("%d\n",*iter);
	}
	return 0;
}

其中用到的vector容器类的几个成员函数

void push_back(const T & x ) //像容器末尾添加一个元素

size_type size( )const //返回容器元素的个数

迭代序列:iterator begin( )     iterator end( )

迭代器:迭代器代表容器的确定地址。。


定义一个行列都变化的数组

#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;

int main(void)
{
	int i=0,j=0;

	vector< vector<int> > Array;//先是一个存放vector<int>类型的大容器,内又是存放int类型的小容器,小容器中为int
	vector<int> line;
	for(j=0;j<10;j++)
	{
		line.push_back(j);
		Array.push_back(line);//要对每一个vector初始化,否则不能存入元素
		for(i=0;i<9;i++)
		{
			Array[i].push_back(i);
		}
	}

	for(j=0;j<10;j++)
	{
		for(i=0;i<Array[j].size();i++){
			cout<<Array[j].at(i)<<".";
		}
		cout<<endl;
	}
	return 0;
}


3.vector删除元素

#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;


int main(void)
{
	vector<int> arr;
	arr.push_back(6);
	arr.push_back(8);
	arr.push_back(3);
	arr.push_back(8);

	for(vector<int>::iterator it=arr.begin();it!=arr.end();)
	{
		if(*it==8)
		{
			it=arr.erase(it);//迭代删除指定元素
		}
		else
			it++;
	}

	for(vector<int>::iterator it=arr.begin();it!=arr.end();it++)
	{
		cout<<*it<<",";
	}
	cout<<endl;
	return 0;
}
vector<int>::iterator it;

iterator erase( it)删除指定元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值