• c++ STL vector初步学习


    /*vector(向量):是一种顺序容器,,动态数组,事实上和数组差不多,但它比数组更优越。
    一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。
    而vector正好弥补了这个缺陷,它的特征是相当于可分配拓展的数组,
    它的随机访问快,在中间插入和删除慢,但在末端插入和删除快。
    2. vector声明及初始化
    vector<int> vec;        //声明一个int型向量
    vector<int> vec(5);     //声明一个初始大小为5的int向量
    vector<int> vec(10, 1); //声明一个初始大小为10且值都是1的向量
    vector<int> vec(tmp);   //声明并用tmp向量初始化vec向量
    vector<int> tmp(vec.begin(), vec.begin() + 3);  //用向量vec的第0个到第2个值初始化tmp
    int arr[5] = {1, 2, 3, 4, 5};  
    vector<int> vec(arr, arr + 5);      //将arr数组的元素用于初始化vec向量
      //说明:当然不包括arr[4]元素,末尾指针都是指结束元素的下一个元素,
     //这个主要是为了和vec.end()指针统一。
    10 vector<int> vec(&arr[1], &arr[4]); //将arr[1]~arr[4]范围内的元素作为vec的初始值
    3.常用操作
    v1.push_back()   //在数组的最后添加一个数据
    v1.pop_back()    //去掉数组的最后一个数据
    v1.front()     //返回第一个元素(栈顶元素)
    v1.begin()           //得到数组头的指针,用迭代器接受
    v1.end()             //得到数组的最后一个单元+1的指针,用迭代器接受
    v1.clear()        // 移除容器中所有数据
    v1.empty()         //判断容器是否为空
    v1.erase(pos)        //删除pos位置的数据
    v1.erase(beg,end)// 删除[beg,end)区间的数据
    v1.size()         //回容器中实际数据的个数
    v1.insert(pos,data) //在pos处插入数据

  • 相关阅读:
    Rafy 框架
    巧用拦截器:高效的扩展点设计
    Rafy 框架
    Rafy 框架
    Rafy 框架
    Rafy 框架-发布网页版用户手册
    Rafy 领域实体框架
    基金投资方法札记
    股票、基金投资方案总结
    BaaS API 设计规范
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11620849.html
Copyright © 2020-2023  润新知