C++ vector的使用

vector在C++中称为容器,为什么叫容器呢?顾名思义,就是能装下别的东西(对象).当然,要使用vector容器,必须引入#include<vector>的库。

vector是一个类模板,使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。

(一)vector有几种初始化方法:

1.vector<T>v1;//T是数据类型,v1是变量名。v1默认值是空,vetoc<int> v1;

2.vector<T>v2(v1)//这里面的v1是v2的一个副本  vecotr<int> v2(v1)

3.vector<T> v3(n,i)  //v3里面有n个值为i的元素 vector<int> v3(10,3)

4.vecotr<T> v4(n) //有n个副本 vector<int> v4(10)

(二)vector操作的对象

1.  v.empty(),如果v为空,则返回true,否则false

2.v.size()  返回v中的元素个数

3.v.push_back(val)  在末尾插入一个值

4.v[n]  可以用下标来访问v中的值,注意:必须是已存在的元素才能用下标操作

5 v.begin() v中第一个元素

6. v.end()  这里不是说v中最后一个元素,v.end()只是一个标识(哨兵),表示已经处理完v中的所有元素

7.vector<T>::iterator 这个是迭代器,可以跟5,6结合使用,待会看下例子。迭代器简单点就是:检查元素,并且遍历元素的数据类型。

例子:

	vector<int> ival;
	cout << "请输入数字(结束按Ctrl+Z):" << endl;
	int num;
	while (cin>>num)
	{
		//将num的值在ival末尾插入
		ival.push_back(num);
	}
	//如果ival不空则返回第一个元素
	if (!ival.empty())
	{
		cout << "ival中的第一个元素为:"<<ival[0]<<endl;
	}
	//输出ival中的全部值
	cout << "输出方式1:" << endl;
	for (vector<int>::size_type ix = 0; ix != ival.size(); ++ix)
	{
		cout << ival[ix] << " ";
	}
	cout << endl;
	//或者是使用迭代器
	vector<int>::iterator itr;
	itr = ival.begin();
	cout << "输出方式2:" << endl;
	while (itr != ival.end())
	{
		cout << *itr << " ";
		++itr;
	}
	cout << endl;


vector<string> sval;
	cout << "请输入任意的几个字母(结束按Ctrl+z):" << endl;
	string str;
	while (cin>>str)
	{
		sval.push_back(str);
	}
	vector<string>::iterator sitr;
	//在string中还可以这么用
	for (sitr = sval.begin(); sitr != sval.end();++sitr)
	{
		for (string::size_type index = 0; index != (*sitr).size();++index)
		{
			cout << (*sitr)[index] << endl;
		}
	}


以上便是对vector的基本操作方法。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值