排序

一提到排序,很容易想到各种各样的排序算法,比如冒泡排序,插入排序,快速排序等。但是游戏中如果涉及到排序,例如积分排行榜,贡献榜等,往往不是直接通过这类排序算法来实现的,而是可以通过STL容器(set或者map)自带的排序功能来实现。例如可以这样实现:

struct test_t

{

    int a;

    int b;

    bool operator() (const test_t& lhs, const test_t& rhs)

    {

        if (lhs.a > rhs.a) {

            return ture;

        } else if (lhs.a < rhs.a) {

            return false;

        }

 

        if (lhs.b > rhs.b) {

            return ture;

        } else if (lhs.b < rhs.b) {

            return false;

        }

        return false;

}

set<test_t, test_t> test_set;

map<test_t, int, test_t> test_map;

这样,当往set容器里面插入数据时,会按照a值从大到小排序,如果a相同,则按照b值从大到小排序。

同理,当往map容器里面插入数据时,会按照key值中的a从大到小排序,如果a相同,则按照b从大到小排序。

 

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值