C++中vector向量的基本操作

vector向量是一种简单高效的容器,具有自动内存管理功能。对于大小为n的vector容器,它的元素下标是0~n-1。

vector有二个重要方法:
    begin(): 返回首元素位置的迭代器。
    end(): 返回最后一个元素的下一个元素位置的迭代器。

1、 vector对象创建的几种方式。
1)不指定容器元素个数。
    vector<double> v;
2)指定容器元素个数。
    vector<double> v(10);            //10个元素
3)指定容器元素个数并初始化。
    vector<double> v(10, 7.8);        //10个元素,初始化为7.8

2、访问和遍历vector容器
1)下标方式访问vector元素并赋值。类似数组的访问和赋值
    v[0] = 3.6;     v[3]=5.5;
2)使用迭代器配合循环对vector进行遍历访问

vector<double> v(3);
v[0] = 1.2;
v[1] = 6.1;
v[2] = 3.7;
vector<double>::iterator it;
for(it=v.begin(); it!=v.end(); it++)
{
    cout<<*it<<endl;
}


3、 向vector中添加元素
1) 向vector容器的尾部追加新元素。
    v.push_back(new_element);
2) insert()方法在vector对象的任意位置前插入一个新元素,同时vector自动扩张一个元素空间,插入位置后的所有元素都向后挪动一个位置。
    v.insert(v.begin()+2, 12.5);        //在第二个元素前插入新元素12.5。
    v.insert(v.end(), 6.5);            //在容器的末尾加入了新元素6.5。

4、元素的删除
1) 删除一个元素或一段区间中所有元素
    v.erase(v.begin()+2);            //删除第二个元素,从0开始计数
    v.erase(v.begin()+1, v.begin()+5);    //删除第1~5中的所有元素。
2) 删除vector中所有元素
    v.clear();                //删除v中的所有元素

5、对vector中元素排序
1) sort()对元素排序。需要头文件”#include <algorithm>”
    sort(v.begin(), v.end());        //sort()默认升序排序

//自己设计比较函数进行排序
bool comp(const int &a, const int &b)
{
    return a>b;
}
sort(v.begin(), v.end(), comp);            // 元素降序排列


2)reverse()反向排列。需要头文件”#include <algorithm>”
    reverse(v.begin(), v.end());        //反向排列向量的从头到尾的元素

6、获得vector的大小
1) 使用size返回向量的大小,即元素个数。
    v.size();                //返回v的元素个数
2) empty()判断向量是否为空。
    v.empty();                //v如果为空,则返回逻辑真,即1,否则返回逻辑假0。

参考文献:
曾宗根, ACM程序设计, 北京大学出版社, 2008.11

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值