Vector简介

标准库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[n]                               返回v中位置为n的元素

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

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

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

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

#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; }

posted @ 2012-04-15 22:02  Gentoo  阅读(272)  评论(0编辑  收藏  举报