STL vector
vector是C++标准模版库(STL,Standard Template Library)中的一种顺序式容器。是一种动态数组,可在运行时根据需要改变数组大小,以数组形式存储,内存空间是连续的,索引可以在常数时间内完成。但是在中间进行插入和删除操作,会造成内存块的拷贝。(不过既方便,又省空间)
一.定义vector数组
使用vector数组需要头文件:
#include<vector>//或者万能头文件#include<bits/stdc++.h> using namespace std;
开始定义...
/* vector<int> a;//a为空 vector<int> a(100);//a有100个空元素 vector<int> a(100,n);//a有100个值为n的元素(n需要提前定义) vector<string> a(10,”null”);//a有10个值为null的元素 //还有很多种定义方法 */
总结
/* vector<数据类型> 数组名;//数组为空,且可随时变换长度。 vector<数据类型> 数组名(元素个数);//数组为空,此数组当前长为“元素个数”,之后可继续增加。 vector<数据类型> 数组名(元素个数,数组,数值或字符);//数组各元素初值为括号内第二个参数,其他同第2行后的注释。 */
二.vector容器的函数
以下为部分函数...
/* vector<int> a; int n,m,i,j,k; a.insert(a.begin()+i,k);//在第i个元素前面插入k a.push_back(n);//尾部插入值为n的元素 a.insert(a.end(),m,n);//尾部插入m个值为n的元素 a.pop_back(); //删除末尾元素 a.erase(a.begin()+i, a.begin()+j);//删除区间[i, j-1]的元素 a.erase(a.begin()+i);//删除第i+1个元素 a.resize(n)//数组大小变为n a.empty();//判断该数组是否为空(返回一个bool类型) a.begin();//访问第一个元素 a.end();//访问末尾元素 a.clear();//清空该数组 a.size();//返回数组长度 sort(a.begin(),a.end(),greater<int>());//降序排列数组a的元素(sort要加头文件#include<algorithm>,<>括号里写数组类型,下同) sort(a.begin(),a.end(),less<int>());//升序排列数组a的元素 //果真是操作简便快捷... */
To be continued...