15
2012
10

linux下练习 c++ 普通容器的使用

code:

/*
迭代器
.begin(),.end() ,.rbegin() , .rend()
插入:.insert(position,element)
删除:.erase(position),.erase(pos_begin,pos_end)
清除:.clear()
大小:.size(), .max_size(), .empty()
交换:.swap(c2) , swap(c1,c2)
运算符:=,>,<,>=,<=,==,!=
*/
#include <iostream>
using namespace std;
#include <vector>
#include <algorithm>
#ifndef print_fun
#define print_fun
template<typename T>
///显示序列数据
void print(T b,T e)
{
bool isExit=false;
while (b!=e)
{
cout<<*b++<<' ';
isExit=true;
}
if(isExit) cout<<endl;
}
#endif
int main()
{
int a[5]={44,33,55,66,11};
vector<int> vi(a,a+5);//用数组初始化一个迭代器vi
cout<<vi.size()<<endl;
sort(vi.begin(),vi.end());//元素排序
vector<int>::iterator b= vi.begin();
print(vi.begin(),vi.end());//正向迭代器
print(a,a+5);
print(vi.rbegin(),vi.rend());//反向迭代器
vi.insert(vi.begin()+1,48);//插入到第2
vi.insert(vi.end(),49);//插入到最后
vi.insert(vi.end()-1,57);
print(vi.begin(),vi.end());
vi.erase(vi.end()-1);//删除最后一个
print(vi.begin(),vi.end());
vi.erase(vi.begin()+2,vi.end()-2);//删除一个区间
print(vi.begin(),vi.end());
vector<int> v2(a,a+5);
vi.swap(v2);//vi与v2交换
print(vi.begin(),vi.end());
vi.swap(v2);//vi再与v2交换回去 
print(vi.begin(),vi.end());
vi.clear();//清空容器
cout<<vi.size()<<endl;
return 0;
}




版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。