STL数据类型-1 vector和使用sort排序

STL数据类型-1 vector和使用sort排序

不定长数组:vector 和 排序重载运算符


 1. 定义不定长数组
    使用头文件#include<vector>
    vector<int> a;
    vector<double> b;
    vector<string> s;

 2. 一些基本操作

    a.size();           //读取长度
    a.resize();         //改变长度
    a.push_back();      //向尾部添加数据
    a.pop_back();       //删除最后一个元素

 3. 一些指针指向

a.begin()
a.end();

一些基本函数操作

    1.遍历区间中的元素,传递给后面的函数用
for(pr=books.begin();pr!=books.end(),pr++)
    ShowReview(*pr);
新的写法:
for_each(books.begin(),books.end(),ShowReview);
接受三个参数,前面两个数组区间.后面一个是函数,
把区间中的每个参数传递给函数ShowReview(books类型参数);
for_each函数无法修改books数组内容

 2. 随机排列区间元素

    random_shuffle(books.begin(),books.end());

 3. 排序 重载<号,和自己编写排序函数
sort(books.begin(),books.end());
Books数组,是由Review 结构体类型创造的,需要定义
bool operator< (const Review& r1, const Review& r2)
{if (r1.title < r2.title)  return true;
else if (r1.title == r2.title&&r1.rating<r2.rating)
return true;
    else return false;}
定义完成后就可以用sort来升序排序
如果想降序或者按rating来排序使用另外一种三个参数的sort函数
最后一个参数是指向要使用的的函数的指针
bool WorseThan(conse Review&r1, conse Review &re)
{if (r1.rating<r2.rating)
        return true;
    else
        return false;}
定义完成这个函数后就可以用函数进行升序排列
sort(bools.begin(), books.end(), WorseThan);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值