C++ 向量<vector>的学习

Posted 八云紫是小loli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 向量<vector>的学习相关的知识,希望对你有一定的参考价值。

在我看来,vector 这东西应该就是数组的加强版

使用时需要头文件 #include <vector>

关于 vector 容器的优点: ①是不容易出现溢出,它会自动调整数据大小来容纳你放入的元素 ②是它有很多方法可以操作其中的元素


声明&初值化:

vector < type > name

例:

  vector <int > a;  //声明一个int 型向量a

  vector <int > b(10);  //声明大小为10的 int 型向量b  

  vector <int > b(a);  // 利用向量a初值化向量b

  vector <int > c(10,2);  //声明大小为10,且数据初始化为2的的向量c

  vector <int > d(c.begin(),c.begin()+2);//利用向量c 第0,1元素初值化向量d 共计2个元素

  当然也可以用数组来初值化,这里不给例了;

 

输入、输出:

  和数组一样,可以使用cin,cout对向量进行输入输出操作,当然也可以利用其中的函数

   cin>>a[0];

 

基本函数&操作:

  .size //返回向量中元素个数

  .empty //返回向量是否为空

  .clear  //清空向量中元素

  .erase   //删除某个(些)元素

  = //复制向量

  == //判断向量是否相等

  .insert //在某位置插入元素

  .push_back //在当前向量的最后位置插入元素(对于多维向量来说可以插入向量)

  .swap //交换向量

  .begin() .end()  //返回向量元素的起始位和末位

  以上操作均为向量之间操作(废话)( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)


二(多)维向量:

  其实就是在声明类型中使用vector 类型,操作与一位向量无其他差别,可当做二(多)维数组使用

  例:vector <vector <int > >a

            ps:    ↑ 这里一定要有个空格,没有的话好像是因为优先级会报错;

  (╯‵□′)╯︵┻━┻这白色背景色怎么去啊

其他:

  关于size_type :

  

  由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型。

                                                       ------摘自百科

  在下认为,其实就是因为数据储存不一定按1大小来分配,特地弄了个来适应一下,来保存vector长度

  例:vector< vector<int> >::size_type u

    for (vector< vector<int> >::size_type u = 0; u < a.size(); u++);  //就当做平常计数使用的i,j

  

  关于迭代器:

  用于遍历向量中的数据

  例:vector <int >::iterator b

    for(b=a.begin();b!=a.end();b++);

 

 

                                     2016.04.03

 

以上是关于C++ 向量<vector>的学习的主要内容,如果未能解决你的问题,请参考以下文章

C++的vector学习

C++向量调试实现

C ++中的3 x 3 char向量[关闭]

vector构造函数的学习

C++学习笔记:高级编程:模板,预处理器,信号处理,多线程,Web编程

用于向量向量的 c++ 迭代器