书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

vector中的各种函数演示

1.初始化演示

2.push_back()演示

3.insert()演示

4.pop_back()演示

5.erase()演示

6.size()演示

7.empty()演示

8.assign()演示

#include<iostream>
#include<vector>
using namespace std;

typedef vector<int> vint;
int main()
{
cout<<"初始化对象:"<<endl;
vint vec1; ///vec1对象初始为空
vint vec2(10, 6); ///vec2对象最初有10个值为6的元素
vint vec3(vec2.begin(), vec2.begin()+3);
///vec3对象最初有3个值为6的元素,拷贝构造

vint::iterator i; ///声明一个名为i的双向迭代器
cout<<"vec1.begin() --> vec1.end():"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;
cout<<"vec2.begin() --> vec2.end():"<<endl;
for(i=vec2.begin(); i!=vec2.end(); ++i)
cout<<*i<<"";
cout<<endl;
cout<<"vec3.begin() --> vec3.end():"<<endl;
for(i=vec3.begin(); i!=vec3.end(); ++i)
cout<<*i<<"";
cout<<endl;

///测试添加和插入成员函数,vector不支持从前插入///
cout<<"测试添加和插入成员函数,vector不支持从前插入:"<<endl;
vec1.push_back(2); ///从后面添加一个成员
vec1.push_back(4);
cout<<"After push_back() now the vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

vec1.insert(vec1.begin()+1, 5); ///在vec1第一个的位置上插入成员5
cout<<"After push_back() and insert() now the vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

vec1.insert(vec1.begin()+1, vec3.begin(), vec3.end());
///从vec1第一的位置开始插入vec3的所有成员
cout<<"After push_back() and insert() now the vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;
cout<<"vec1.front()="<<vec1.front()<<endl; ///vec1第零个成员
cout<<"vec1.back()="<<vec1.back()<<endl; ///vec1的最后一个成员
cout<<"vec1.at(4)="<<vec1.at(4)<<endl; ///vec1的第五个成员
cout<<"vec1[4]="<<vec1[4]<<endl;

///测试移出和删除///
vec1.pop_back(); ///将最后一个成员移出vec1
cout<<"After pop_back() now vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

vec1.erase(vec1.begin()+1, vec1.end()-2); ///删除成员
cout<<"After vec1.pop_back() and vec1.erase():"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

///显示序列的状态信息///
cout<<"vec1.size()="<<vec1.size()<<endl; ///打印成员个数
cout<<"vec1.empty()="<<vec1.empty()<<endl; ///清空

///测试赋值成员函数///
vec2.assign(8,1); /// 重新给vec2赋值,8个成员的初始值都为1
cout<<"vec2.assign(8,1):"<<endl;
for(i=vec2.begin(); i!=vec2.end(); ++i)
cout<<*i<<"";
cout<<endl;


}

 

 

 



posted on 2011-11-23 10:24  More study needed.  阅读(247)  评论(0编辑  收藏  举报

导航

书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!