您的位置:首页 > 编程语言 > C语言/C++

C++中vector类型简介

2009-05-31 11:25 218 查看
标准库Vector类型

使用需要的头文件:

#include <vector>

Vector:Vector 是一个类模板。不是一种数据类型。 Vector<int>是一种数据类型。

一、 定义和初始化

Vector<T> v1; //默认构造函数v1为空

Vector<T> v2(v1);//v2是v1的一个副本

Vector<T> v3(n,i);//v3包含n个值为i的元素

Vector<T> v4(n); //v4含有n个值为0的元素

二、 值初始化

1> 如果没有指定元素初始化式,标准库自行提供一个初始化值进行值初始化。

2> 如果保存的式含有构造函数的类类型的元素,标准库使用该类型的构造函数初始化。

3> 如果保存的式没有构造函数的类类型的元素,标准库产生一个带初始值的对象,使用这个对象进行值初始化。

三、Vector对象最重要的几种操作

1. v.push_back(t) 在数组的最后添加一个值为t的数据

2. v.size() 当前使用数据的大小

3. v.empty() 判断vector是否为空

4. v
返回v中位置为n的元素

5. v1=v2 把v1的元素替换为v2元素的副本

6. v1==v2 判断v1与v2是否相等

7. !=、<、<=、>、>= 保持这些操作符惯有含义

四、简单程序示例:读一组数据到vector对象,计算并输出每对相邻元素的和。如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值。

Code
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> ivec;
int ival;

//读入数据到vector对象
cout<<"Enter numbers(Ctrl+Z结束)"<<endl;
while(cin>>ival)
ivec.push_back(ival);

//计算相邻元素的和并输出
if(ivec.size()==0){
cout<<"No element?!"<<endl;
return -1;
}
cout<<"Sum of each pair of adjacent elements in the vector:"<<endl;
for(vector<int>::size_type ix=0;ix<ivec.size()-1;ix+=2){
cout<<ivec[ix]+ivec[ix+1]<<'\t';
if((ix+1)%6==0)
cout<<endl;
}

if(ivec.size()%2!=0)
cout<<endl<<"The last element is not summed and its value is "<<ivec[ivec.size()-1]<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: