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;
}
使用需要的头文件:
#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;
}
相关文章推荐
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- C++ Primer学习笔记7 标准库类型(标准库vector类型、迭代器简介)
- C++中vector类型简介
- 从零开始学C++之标准库类型(二):vector 类简介和例程
- C++ 之标准库类型—— vector 容器
- C++之vector类型的使用和迭代器使用
- C++实现Vector->类型萃取和List->迭代器
- 网上的好文章:C++ vector容器类型及初始化方法
- C++ STL map类型简介
- C++学习笔记之八 复合类型---数组的替代品vector和array
- C++ 函数参数传递-vector和其它容器类型的形参
- C++ vector容器类型
- C++之vector简介
- C++ 标准库类型-String,Vector and Bitset
- C++ vector容器类型使用
- C++学习基础十四——基础类型vector
- C++中vector简介
- C++ vector容器类型的用法及注意
- C++ vector容器类型