0
点赞
收藏
分享

微信扫一扫

【c++STL——第一讲】vector系列 (常用知识点总结)

玉新行者 2022-05-05 阅读 73

大家好,我是quicklysleep,欢迎大家光临我的博客,算法学习笔记系列持续更新中~


文章目录


一、前言

vector(变长数组),倍增的思想,支持比较运算(按字典序)


二、vector的定义

​    vector <int> a; 定义:一个vector数组a

​    vector <int> a(10); 定义:一个长度为10的vector数组a

​    vector <int> a(10,3); 定义:一个长度为10的vector数组a,并且所有元素都为3

三、vector的常用函数

   size(); 返回元素个数

​    empty(); 判断a是否为空,空则返回true,非空则返回falseclear(); 清空

​    front(); 返回vector的第一个数

​    back(); 返回vector的最后一个数

​    push_back(); 向vector的最后插入一个数

​    pop_back(); 把vector的最后一个数删掉

​    begin(); vector的第0个数

​    end(); vector的最后一个的数的后面一个数

  倍增的思想:

​    系统为某一程序分配空间是,所需时间,与空间大小无关,与申请次数有关

   结合算法erase()  reverse()
   
   a.erase(p)//从a中删除迭代器p指定的元素,p必须指向c中的一个真实元素,不能是最后一个元素end()
   
   a.erase(b,e)//从a中删除迭代器对b和e所表示的范围中的元素,返回e

   vector<int> a={1,2,3,4,5};
   
   reverse(a.begin(),a.end());//a的值为5,4,3,2,1  倒置

四、vector的遍历方法


​    假设有个vector <int> a;

​    第一种:

​      for(int i = 0;i < a .size();i ++) 
         cout<<a[i]<<" ";

​    第二种:

​      for(vector <int>::iterator i = a. begin();i != a. end();i ++)
        cout<<*i<<" "; vector <int>::iterator可以写为auto

​    第三种:

​      for(auto x : a) cout<<x<<" ";//C++11的新语法

最后

举报

相关推荐

HTML知识点总结 第一讲

0 条评论