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. 阅读(248) 评论(0) 编辑 收藏 举报