码迷,mamicode.com
首页 > 其他好文 > 详细

使用对象中的几个key值来排序

时间:2014-05-08 19:54:37      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   tar   

环境:vs2012 win7 c++

1 #include<alogrithem>

2 写一个比较函数,体现对象间是按照哪些key值来排序的。

3 使用std::sort函数。

例子如下:

bubuko.com,布布扣
#include <algorithm>
/*
排序规律:
星级最大的排前面,其次等级越大排前面,再其次是经验越大排前面,最后是其次是ID值越大排越后面。
*/
bool myCompare(GameCardVo* obj1,GameCardVo* obj2)
{

    if (obj1->configRoleData->star!=obj2->configRoleData->star)    //星级第一优先考虑
    {
        return (obj1->configRoleData->star>obj2->configRoleData->star);
    } 
    else
    {
        if (obj1->getLevel()!=obj2->getLevel())
        {
            return (obj1->getLevel()>obj2->getLevel());
        } 
        else
        {
            if (obj1->getExp()!=obj2->getExp())
            {
                return (obj1->getExp()>obj2->getExp());
            } 
            else
            {
                return (obj1->ownID_INT<obj2->ownID_INT);
            }
        }
    }
}
bubuko.com,布布扣

开始使用:

bubuko.com,布布扣
std::vector<GameCardVo*> vectorSortCard;
        int i=0;
        for(i = 0; i<len; i++)
        {
            auto role = (GameCardVo*)arr.at(i);
            vectorSortCard.push_back(role);
        }
        std::sort(vectorSortCard.begin(),vectorSortCard.end(),myCompare);
bubuko.com,布布扣

ok了。代码很明显是不全的,主要是记录下大概怎么做。

 

使用对象中的几个key值来排序,布布扣,bubuko.com

使用对象中的几个key值来排序

标签:style   blog   class   code   java   tar   

原文地址:http://www.cnblogs.com/waittingforyou/p/3709595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!