排序

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

1. 函数对象

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_set;

map test_map;

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

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

 

     

你可能感兴趣的:(游戏开发)