vector中的各種函數(shù)演示
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的元素,拷貝構(gòu)造
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;
///測試添加和插入成員函數(shù),vector不支持從前插入///
cout<<"測試添加和插入成員函數(shù),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;
///顯示序列的狀態(tài)信息///
cout<<"vec1.size()="<<vec1.size()<<endl; ///打印成員個數(shù)
cout<<"vec1.empty()="<<vec1.empty()<<endl; ///清空
///測試賦值成員函數(shù)///
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. 閱讀(258) 評論(0) 收藏 舉報
浙公網(wǎng)安備 33010602011771號