vector详解
来源:互联网 发布:淘宝悠悠球哪家好 编辑:程序博客网 时间:2024/06/07 05:48
Vector详解
一、基本用法(pop_back( ),push_back(value))
基本使用方法:
pop_back() 删除vector的最后一个元素
push_back(value) 将value放到vector的最后
#include<iostream>#include<vector>using namespace std;int main(){ vector<int> myvector; for(int i=1;i<=10;i++) myvector.push_back(i); myvector.pop_back(); return 0;}
二、front(),back(),clear(),empty(),size()
基本用法:
front() 返回对第一个元素的引用
back() 返回对最后一个元素的引用
clear() 清空 vector
empty() 如果为空,返回 true,否则返回 false
size() 返回 vector 中元素的个数
#include<iostream>#include<vector>using namespace std;int main(){ vector<int> myvector; for(int i=1;i<=10;i++) myvector.push_back(i); cout<<"size="<<myvector.size()<<endl; cout<<"front="<<myvector.front()<<endl; cout<<"back="<<myvector.back()<<endl; if(!myvector.empty()){ myvector.clear(); cout<<"clear!"<<endl; } cout<<"size="<<myvector.size()<<endl; return 0;}
代码运行如下:
三、begin(),end()
begin() 返回指向第一个元素的迭代器(iterator)
end() 返回指向最后一个元素的迭代器
#include<iostream>#include<vector>using namespace std;int main(){ vector<int> myvector; vector<int>::iterator it; for(int i=1;i<=10;i++) myvector.push_back(i); cout<<"myvector:"; for(it=myvector.begin();it!=myvector.end();it++) cout<<' '<<*it; cout<<endl; return 0;}
代码运行如下:
四、rbegin(),rend()
rebigin() 返回指向末尾的逆向迭代器
rend() 返回指向开头之前位置的逆向迭代器
#include<iostream>#include<vector>using namespace std;int main(){ vector<int> myvector (5); vector<int>::reverse_iterator it; int i=0; for(it=myvector.rbegin();it!=myvector.rend();it++) *it=++i; cout<<"myvector"; for(int i=0;i<myvector.size();i++) cout<<' '<<myvector[i]; cout<<endl; return 0;}
代码运行如下:
五、erase()
erase(loc) 删除 loc 所指元素,并返回下一元素迭代器
erase(start,end) 删除(start,end)元素,并返回最后被删除 元素的下一个迭代器
#include<iostream>#include<vector>using namespace std;int main(){ vector<int> myvector; for(int i=1;i<=10;i++) myvector.push_back(i); cout<<"first"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; myvector.erase(myvector.begin()+1); cout<<"second"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; myvector.erase(myvector.begin()+1,myvector.end()-3); cout<<"3rd"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; return 0;}
代码运行如下:
六、insert()
insert(loc,value) 在 loc 位置插入一个 value 并返回其迭代器
insert(loc,num,value) 在 loc 位置插入 num 个 value
insert(loc,start,end) 在 loc 位置插入[start,end)间的元素插入后元素均后移v
#include<iostream>#include<vector>using namespace std;int main(){ vector<int> myvector(3,100); vector<int>::iterator it; cout<<"first"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; it=myvector.begin(); myvector.insert(it,200); cout<<"second"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; it=myvector.begin(); myvector.insert(it,2,300); cout<<"3rd"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; vector<int> anthervector(2,400); myvector.insert(it+2,anthervector.begin(),anthervector.end()); cout<<"4th"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; int marray[]={500,501,502}; myvector.insert(myvector.begin(),marray,marray+3); cout<<"first"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; return 0;}
代码运行如下:
七、其他
erase(unique(begin( ),end( )), end( )); 对 vector 进行排重
erase(remove(begin( ), end( ), value), end( )); 删除 vector 中值为 value 的元素
sort(begin( ), end( ))// 要加 algorithm 对vector进行从小到大排序,可加cmp 函数
#include<iostream>#include<vector>#include<algorithm>using namespace std;int main(){ vector<int> myvector; for(int i=1;i<=10;i++) myvector.push_back(i); myvector.push_back(1); cout<<"first"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; sort(myvector.begin(),myvector.end()); cout<<"second"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; myvector.erase(unique(myvector.begin(),myvector.end()),myvector.end()); cout<<"3rd"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; myvector.erase(remove(myvector.begin(),myvector.end(),1),myvector.end()); cout<<"4th"; for(int i=0;i<myvector.size();i++) cout<<" "<<myvector[i]; cout<<endl; return 0;}
代码运行如下:
本文下载地址:http://pan.baidu.com/s/1o68r0ng?qq-pf-to=pcqq.c2c
- vector详解~
- vector详解
- vector详解
- vector详解
- vector详解
- vector详解
- vector详解
- vector详解
- vector详解
- Vector用法详解
- vector用法详解
- STL vector详解
- STL之vector详解
- C++ Vector详解
- Vector、ArrayList、List详解
- C++的vector详解
- Vector用法详解
- vector容器用法详解
- 常用数据库状态查询语句
- Linux内核的时钟中断机制
- 图解TCP/IP--阅后记录
- 梅西-唯一的足球真神!
- Android调试底层服务
- vector详解
- 2014--告别2013
- 天气预报webservice wsimport注意事项
- 新年新气象,我希望这个能成为我看书的动力
- solr4.5配置增量索引(DIH)
- volume进入error_deleting状态
- 九度oj 题目1364:v字仇杀队
- 为文件夹添加自定义详细信息
- 开源数学计算库