zoukankan      html  css  js  c++  java
  • C++中vector容器的基本用法总结

    在C++中,vector是一个十分有用的容器,下面根据多篇文章对这个vector做一下总结。

    1.文件包含

    首先在程序开头处加上#include以包含所需要的类文件vector,还有一定要加上using namespace std;

    #include <vector>
    using namespace std;

    2.变量声明

    例2.1:
    声明一个int向量以替代一维的数组:
    vector <int> vec;
    (等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除)。
    例2.2:
    用vector代替二维数组:
    vector<vector<float>> vec;

    3.基本操作

    (1)尾部插入数字:vec.push_back(a);

    (2)去掉数组的最后一个数据:vec.pop_back();

    (4)得到编号位置的数据:at

    (5)使用迭代器访问元素.

    vector<int>::iterator it;
    for(it=vec.begin();it!=vec.end();it++)
        cout<<*it<<endl;

    (6)插入元素:
    vec.insert(vec.begin()+i,a);
    在第i+1个元素前面插入a;

    (7)删除元素:
    vec.erase(vec.begin()+2);
    删除第3个元素
    vec.erase(vec.begin()+i,vec.end()+j);
    删除区间[i,j-1];区间从0开始

    (8)向量大小:vec.size();

    (9)清空:vec.clear();

    (10)判断容器是否为空:vec.empty();

    (11)传回第一个数据:vec.front();

    4.算法

    (1)使用reverse将元素翻转:需要头文件#include<algorithm>,
    reverse(vec.begin(),vec.end());
    将元素翻转(在vector中,如果一个函数中需要两个迭代器,一般后一个都不包含)。

    (2)使用sort排序:需要头文件#include<algorithm>
    sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大)。

    可以通过重写排序比较函数按照降序比较,如下:
    定义排序比较函数:

    bool Comp(const int &a,const int &b)
    {
        return a>b;
    }

    调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。

  • 相关阅读:
    MVC 后台DataTable 前台遍历
    oracle 创建表空间详细介绍
    C# Chart 折线图 多条数据展示
    ASP.NET Request.QueryString 出现乱码问题
    生成XML文件
    什么是Intent(意图)
    HTTP错误405-Method Not Allowed
    通过剪切板传递数据—— 传递一个对象
    Linux下crontab命令的用法
    Redis使用介绍
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814840.html
Copyright © 2011-2022 走看看