zoukankan      html  css  js  c++  java
  • acm的STL容器之vector篇

    2018-07-12

    Vector是什么?

    1.vector介绍以及常用指令

    专业来说:

      vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库

      vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象

      

    简单来说:

    vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

    长度灵活,不需要维护长度。

    可以装下所有基本数据类型,也可以装用户定义的结构体

    需要声明头文件以及命名空间。

    因为总是需要输入输出数据,所以顺便声明iostream了

    #include<vector>
    #include<iostream>
    using namespace std;
    

    声明一个容器

    vector<int> ivec;
    

    ivec.at(idx):传回索引idx所指的数据,如果idx越界,抛出out_of_range。

    ivec.back():传回最后一个数据,不检查这个数据是否存在。

    ivec.begin():传回迭代器重的可一个数据。

    ivec.front():传回第一个数据。

    ivec.end():指向迭代器中的最后一个数据地址。

     

    ivec.clear():移除容器中所有数据。

    ivec.empty():判断容器是否为空。

    ivec.size():返回当前容器的大小。

    ivec.erase(pos):删除pos位置的数据,传回下一个数据的位置。

    ivec.pop_back():删除最后一个数据。

    ivec.push_back(elem):在尾部加入一个数据。

     1 //sample input
     2 int main(){
     3     
     4     vector<int> vec;
     5     vec.push_back(3);
     6     vec.push_back(4);
     7     vec.push_back(3);
     8     cout<<vec.at(1)<<endl;
     9     cout<<vec[1]<<endl;
    10     
    11     return 0;
    12 }
    //sample output
    4
    4

    可见,访问容易中的数据有2中方法。数组访问和用at(index)访问。

     (待完善)

  • 相关阅读:
    湘潭oj1203/邀请赛A称号 数论+java睑板
    Ejb in action(七)——message与JMS
    Post和Get差异
    1.cocos2dx它Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
    ftk学习记录(IME文章)
    内部类创建一个内部版本
    使用gson和httpclient呼叫微信公众平台API
    hdu
    Beginning Python From Novice to Professional (5) - 条件与循环
    24点经典算法
  • 原文地址:https://www.cnblogs.com/VsKendo/p/9298341.html
Copyright © 2011-2022 走看看