C++之vector容器操作演示
来源:互联网 发布:通联数据的量化平台 编辑:程序博客网 时间:2024/05/20 09:22
最简单的STL容器是vector容器,它在数据结构上与数组相似,占据着一个连续的内存块,但要比数组要灵活,是一个能够动态改变自身大小的数组。
#include<iostream> #include<vector>#include<algorithm>#include<functional> // greater<T>using namespace std;template<class T>void printVector(const char *s, const vector<T>& v) { cout<<s<<"=("; if(v.size()==0){ cout<<")\n"; return; } typename vector<T>::const_iterator i=v.begin(); for( ;i<v.begin()+v.size()-1;i++) cout<<*i<<' '; cout<<*i<<")\n";}bool f1(int n) { return n<4;}int main(){ int a[]={1,2,3,4,5}; vector<int> v1; //v1 is empty,size=0,capacity=0 for(int j=1; j<=5; j++) v1.push_back(j); //v1=(1 2 3 4 5),size=5,capacity=8 printVector("v1",v1); vector<int> v2(3,7); //v2=(7 7 7) printVector("v2",v2); vector<int>::iterator i1=v1.begin()+1; vector<int>v3(i1,i1+2); //v3=(2 3),size=2,capacity=2 printVector("v3",v3); vector<int> v4(v1); //v4=(1 2 3 4 5),size=5,capacity=5 printVector("v4",v4); vector<int> v5(5); //v5=(0 0 0 0 0) printVector("v5",v5); v5[1]=v5.at(3)=9; //v5=(0 9 0 9 0) printVector("v5",v5); v3.reserve(6); //v3=(2,3),size=2,capacity=6 v4.resize(7); //v4=(1 2 3 4 5 0 0),size=7,capacity=10 v4.resize(3); //v4=(1 2 3),size=3,capacity=10 v4.clear(); //v4 is empty,size=0,capacity=10(!) v4.insert(v4.end(),v3[1]); //v4=(3) v4.insert(v4.end(),v3.at(1)); //v4=(3 3) v4.insert(v4.end(),2,4); //v4=(3 3 4 4) v4.insert(v4.end(),v1.begin()+1,v1.end()-1);//v4=(3 3 4 4 2 3 4) v4.erase(v4.end()-2); //v4=(3 3 4 4 2 4) v4.erase(v4.begin(),v4.begin()+4); //v4=(2 4) v4.assign(3,8); //v4=(8 8 8) v4.assign(a,a+3); //v4=(1 2 3) printVector("v4",v4); vector<int>::reverse_iterator i3=v4.rbegin(); for( ;i3!=v4.rend();i3++) cout<<*i3<<' '; //print:3 2 1 cout<<endl; //algorithms v5[0]=3; //v5=(3 9 0 9 0) replace_if(v5.begin(),v5.end(),f1,7); //v5=(7 9 7 9 7) v5[0]=3;v5[2]=v5[4]=0; //v5=(3 9 0 9 0) replace(v5.begin(),v5.end(),0,7); //v5=(3 9 7 9 7) sort(v5.begin(),v5.end()); //v5=(3 7 7 9 9) sort(v5.begin(),v5.end(),greater<int>()); //v5=(9 9 7 7 3) v5.front()=2; //v5=(2 9 7 7 3) printVector("v5",v5); return 0;}
阅读全文
0 0
- C++之vector容器操作演示
- C++STL之vector容器
- 【c++】vector容器&set容器的基本操作
- C++STL容器技术之Vector
- 初学者学习C++STL之vector容器
- 【C++】顺序容器之vector用法
- C++STL库学习之向量容器vector & string容器
- Vector容器操作
- C++STL中vector容器类的简单操作
- 【c++】容器vector
- C++-vector(容器)
- 【C++】实现容器Vector
- C++vector(容器)用法
- c++之vector(容器)初始化、操作、顺序访问
- 容器之vector
- C++容器之 Vector
- STL容器之vector
- STL容器之 vector
- Linux+hadoop学习笔记(一)
- Spring Boot核心
- 使用Java AWT编写一个简单的计算器
- 支持向量机(SVM)
- Webpack(打包工具)
- C++之vector容器操作演示
- ugui与ngui如何检测是否点击在UI上
- 一点一点学写Makefile(3)-增加第三方库和头文件
- 解决MySQL无服务问题
- swift学习笔记4-函数
- 洛谷P3960 [NOIp2017]列队
- manacher算法及扩展
- 输入输出系统(一)
- C语言中的深拷贝和浅拷贝