【知识点】c++动态数组vector

相信大家都知道$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;
}
原文地址:https://www.cnblogs.com/YSFAC/p/5898110.html