C++ 标准库 vector 使用方法

原创 2013年12月06日 14:01:27

向量(vector)相关使用方法:

1、push_back        //在数组的最后添加一个数据

2、pop_back         //删除数组的最后一个数据

3、at                     //得到编号位置的数据

4、begin              //得到数组的头指针

5、end                //得到数组最后一个单元+1的指针

6、front               //得到数组第一个数据的引用

7、back             //得到数组最后一个数据的引用

8、max_size      //得到vector最大容量多少

9、capacity       //得到当前vector分配的大小

10、size            //当前使用数据的大小

11、resize          //改变当前使用数据的大小,如果它比当前使用的大,则默认填充(v.resize(2*v.size,0))

12、reserve      //改变当前vector所分配的大小

13、erase       //删除当前指针所指向的数据

14、clear        //清空当前vector中元素

15、rbegin       //将vector翻转后的开始指针返回

16、rend         //将vector翻转后的末尾指针返回

17、empty     //判断vector是否为空

18、swap     //与另一个vector交换数据

vector  初始化及赋值:

vector  <数据类型>   标示符;

vector  <数据类型>   标示符(最大容量);

vector  <数据类型>   标示符(最大容量,初始所有值);

vector  <int>  array(5,1);      //数组大小为5个,每个值初始为1;

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    vector <int> v(5,1);
    for(int i=0;i<5;i++)
    cout <<v[i]<<" ";
    cout<<endl;
    return 0;
}

使用数组对vector进行初始化:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int a[10]={1,2,3,4,5,6,7,8,9};
    vector <int> v(a+1,a+3);
    for(vector <int>::iterator i = v.begin(); i != v.end(); i++)
    cout <<*i<<" ";
    cout<<endl;
    return 0;
}

vector 数组是前闭后开,所以输出第二个和第三个;

vector 数组的排序:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int a[10]={1,22,113,24,25,36,437,18,9};
    vector <int> v(a+1,a+7);
    sort(v.begin(),v.end());    //从小到大排序
    sort(v.rbegin(),v.rend());  //从大到小排序
    cout<<v[0]<<endl;
    return 0;
}
对于二维 vector 的定义:

vector <vector <int>  >  v(10,vector <int>(0));

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    vector<vector<int> > v(10,vector <int>(0));
    for(int i=0;i<10;i++)
        for(int j=0;j<=9;j++)
        v[i].push_back(j);
    for(int i=0;i<10;i++){
        for(int j=0;j<v[i].size();j++)
        cout<<v[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}
定义一个行列都变化的二维vector:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    vector <vector<int> > v;
    vector <int> vv;
    for(int i=0;i<10;i++){
        v.push_back(vv);
        for(int j=0;j<=9;j++)
        v[i].push_back(j);
    }
    for(int i=0;i<10;i++){
        for(int j=0;j<v[i].size();j++)
        cout<<v[i][j]<<" ";
        cout<<endl;
    }
    return 0;
}

使用vector 删除元素;

#include <iostream>
#include <vector>
#include <algorithm>


using namespace std;


int main()
{
    int a[10]={1,22,113,24,25,36,437,18,9};
    vector <int> v(a+1,a+7);
    for(vector <int>::iterator i=v.begin();i != v.end();){
        if(*i ==22)
            i=v.erase(i);
        else
            ++i;
    }
    for(vector <int>::iterator t = v.begin();t != v.end();++t)
        cout<<*t<<" ";
    return 0;
}


参考:http://m.blog.csdn.net/blog/szu030606/8565318



 

  

c++ 中对vector的使用方法

vector: 从数组最后压入操作:s.push_back(a) 从数组最后删除操作:s.pop_back(a) stack: 从数组最后压入操作:s.push_back(a) 从数组最后删除操作:...
  • crisy1991
  • crisy1991
  • 2016年06月01日 10:15
  • 2924

C/C++中容器vector使用方法<第一弹>

C++中数组很坑,有没有类似Python中list的数据类型呢?类似的就是vector!vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负...
  • u013171165
  • u013171165
  • 2014年06月22日 17:26
  • 3978

C++ vector用法(详解!!函数,实现)

1,简述一下vector的基本操作,它的size,capacity(),clear,reverse,reserve,   push_back等!!! 2,说说,vector的存储特性,是顺序存储还...
  • msdnwolaile
  • msdnwolaile
  • 2016年09月30日 01:13
  • 6692

vector 详细用法 C++

使用STL的三个境界:能用,明理,能扩展。本文属于第一个境界,如果结合了《STL源码解析》,则达到了第二个境界, 如果项目中有需要,对STL进行了扩展则就达到了第三个境界! 如果希望深刻理解vecto...
  • sangyongjia
  • sangyongjia
  • 2016年04月11日 20:54
  • 5123

C++的STL中的vector的使用方法

 C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。 标准库vector类型...
  • tsqer1987
  • tsqer1987
  • 2014年08月16日 22:59
  • 265

C++ vector使用方法

在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。 1 基本操作 (1)头文件#include. (2)创建vector对象,vector vec; (3)尾部插入数字:...
  • shaguakaimen123
  • shaguakaimen123
  • 2014年11月01日 09:40
  • 242

C++ 中vector的使用方法

转载自 那年聪聪 http://blog.csdn.net/duan19920101/article/details/50617190 在c++中,vector是一个十分有用的容器。 ...
  • u013270326
  • u013270326
  • 2017年05月14日 21:16
  • 121

C++中容器vector的使用方法

C++中的vector 使用范例 一、概述 vector 是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的 模板类和函数库。vector 是一个容器,它能够存放各种类型的...
  • Xuejie_N
  • Xuejie_N
  • 2014年12月04日 10:08
  • 542

C++ vector 实现二维数组

简介 在STL中Vector这一容器,无论是在封装程度还是内存管理等方面都由于传统C++中的数组。本文主要是关于使用Vector初始化、遍历方面的内容。其他二维的思想也是类似的。 1.初始化 (...
  • a819825294
  • a819825294
  • 2016年08月01日 20:25
  • 12479

c++中vector的使用方法

介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使...
  • maomiaomiao
  • maomiaomiao
  • 2015年03月30日 10:04
  • 269
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 标准库 vector 使用方法
举报原因:
原因补充:

(最多只允许输入30个字)