首页 > 代码库 > c++动态数组vector

c++动态数组vector

(这篇随笔主要和大家分享一下在信竞中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;}

 

c++动态数组vector