相信大家都知道$C$++里有一個流弊的$STL$模板庫。。
今天我們就要談一談這里面的一個容器:動態數組$vector$。
$vector$實際上類似於$a[]$這個東西,也就是說它重載了$[]$運算符。
使用$vector$時需要加上#include<vector>這個頭文件。
定義方法:
vector<類型名> 變量名; 例如: vector<int> a; vector<char> b; vector<data> c; //data為自定義的數據類型,可以為結構體
操作方法:
a[i]; //返回動態數組中的第i個元素 a.empty(); //若動態數組為空,則返回true,否則返回false a.size(); //返回動態數組中元素的個數 a.resize(x); //修改動態數組大小為x a.push_back(x); //將x插入動態數組尾部 a.pop_back(); //刪除動態數組尾部的元素 a.begin(); //返回指向動態數組頭部的指針 a.end(); //返回指向動態數組尾部元素的后一個元素的指針
使用$vector$的排序模版:
#include<iostream> #include<cstdio> #include<vector> #include<algorithm> using namespace std; vector<int> a; int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) { int tmp; scanf("%d",&tmp); a.push_back(tmp); } sort(a.begin(),a.end()); for(int i=0;i<n;i++) printf("%d ",a[i]); return 0; }