• 【知识点】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;
    }
  • 相关阅读:
    POJ-3984-迷宫问题(bfs+记录路径)
    StringBuilder与String的区别
    845. 八数码(bfs+map)
    844. 走迷宫(bfs模板)
    843. n-皇后问题(dfs+输出各种情况)
    洛谷 P1337 [JSOI2004]平衡点 / 吊打XXX
    【模板】 线性筛质数
    接文游戏
    【NOIP2011提高组】计算系数
    洛谷 P3197 [HNOI2008]越狱
  • 原文地址:https://www.cnblogs.com/YSFAC/p/5898110.html
Copyright © 2020-2023  润新知