vector 容器的用法

       vector 是 C++ 标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector 之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说 vector 是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用 vector ,必须包含 #include <vector> 。

          Vector 属于std命名域的,因此需要通过命名限定,有如下三种方式。

using std::vector;     vector<int> v;  
std::vector<int> v;  // 或者连在一起,使用全名。
using namespace std; // 建议使用全局的命名域方式。

          1、vector的声明

vector<ElemType> c;  // 创建一个空的vector
vector<ElemType> c1(c2);   // 创建一个vector c1,并用c2去初始化c1
vector<ElemType> c(n);  // 创建一个含有n个ElemType类型数据的vector;
vector<ElemType> c(n,elem);   // 创建一个含有n个ElemType类型数据的vector,并全部初始化为elem;
c.~vector<ElemType>();   // 销毁所有数据,释放资源;

        2、vector容器中常用的函数。(c为一个容器对象)

c.push_back(elem);  // 在容器最后位置添加一个元素elem
c.pop_back();  // 删除容器最后位置处的元素
c.at(index);  // 返回指定index位置处的元素
c.begin();  // 返回指向容器最开始位置数据的指针
c.end();  // 返回指向容器最后一个数据单元的指针+1
c.front();  // 返回容器最开始单元数据的引用
c.back();  // 返回容器最后一个数据的引用
c.max_size();   // 返回容器的最大容量
c.size();  // 返回当前容器中实际存放元素的个数
c.capacity();  //
c.resize();  // 重新设置vector的容量
c.reserve();  // 同c.resize()
c.erase(p);  // 删除指针p指向位置的数据,返回下指向下一个数据位置的指针(迭代器)
c.erase(begin,end);  // 删除begin,end区间的数据,返回指向下一个数据位置的指针(迭代器)
c.clear();  // 清除所有数据
c.rbegin();  // 将vector反转后的开始指针返回(其实就是原来的end-1)
c.rend();  // 将vector反转后的结束指针返回(其实就是原来的begin-1)
c.empty();  // 判断容器是否为空,若为空返回true,否则返回false
c1.swap(c2);  // 交换两个容器中的数据
c.insert(p,elem);  // 在指针p指向的位置插入数据elem,返回指向elem位置的指针       
c.insert(p,n,elem);  // 在位置p插入n个elem数据,无返回值
c.insert(p,begin,end);  // 在位置p插入在区间[begin,end)的数据,无返回值


    3、vector中的操作

    operator[] 如: c[i];

    同at()函数的作用相同,即取容器中的数据。


    4、简单实例代码

    输入与删除


    

    元素的访问


    

   排序与查询


    

    二维容器


原文:http://xiamaogeng.blog.163.com/blog/static/1670023742010102494039234/


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值