标签:
(这篇随笔主要和大家分享一下在信竞中c++中动态数组vector的用法,那些跟竞赛没毛关系的就不说了。。)
相信大家都知道c++里有一个nb的STL模板库。。(在这里膜一下STL)
今天我们就要扯一扯这里面的一个容器:动态数组vector。
vector实际上类似于a[]这个东西,也就是说它重载了[]运算符。(真是66666666)
使用vector时需要加上<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() | 返回指向动态数组尾部元素的后一个元素的指针 |
弄一个排序实战一下。。
直接上代码好了。。
懒的写qsort直接用模版了。。
#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; }
标签:
原文地址:http://www.cnblogs.com/YSFAC/p/5898110.html