首页 > 编程语言 >c++ stl std::sort使用例子

c++ stl std::sort使用例子

时间:2023-08-25 10:22:06浏览次数:42  
标签:std sort right power stl damage fight left

class User
{
public:
    int32_t m_fight_power;
private:
    int32_t m_level;
};

bool CenterData::compare(const User *left, const User *right)
{
    if(left->m_fight_power != right->m_fight_power)
    {
        return left->m_fight_power > right->m_fight_power;
    }
    return false;
}

typedef std::vector<User*> UserVector;
UserVector userVector;
std::sort(userVector.begin(), userVector.end(), compare);
struct DamageData
{
    EntityUUID player_id;
    int64_t damage;
    std::string player_name;
};
bool compareDamage(const std::shared_ptr<DamageData> left, const std::shared_ptr<DamageData> right)
{
    if (left->damage != right->damage)
    {
        return (left->damage > right->damage);
    }
    return false;
}
vector<std::shared_ptr<DamageData>> ranks;
std::sort(ranks.begin(), ranks.end(), compareDamage);

 

标签:std,sort,right,power,stl,damage,fight,left
From: https://www.cnblogs.com/barrysgy/p/17656185.html

相关文章

  • STL简介
    STL六大部件容器(classtemplate)分配器(为容器服务,classtemplate)算法(functiontemplate)迭代器(泛化的指针,容器和算法之间的桥梁)(classtemplate)适配器(classtemplate)仿函数(classtemplate),为算法提供服务。 数据和操作放在一起就是走OOP类道路,数据和操作......
  • STDC网络
    为了做到实时推理,很多实时语义分割模型选用轻量骨干网络,但是由于task-specificdesign的不足,这些从分类任务中借鉴来的轻量级骨干网络可能并不适合解决分割问题。除了选用轻量backbone,限制输入图像的大小是另一种提高推理速度的常用方法,但这很容易忽略边缘附近的细节和小物体。为......
  • element+Sortable 实现表格拖拽
    <template><divclass="draggable"style="padding:20px"><el-tablerow-key="id":data="state.tableData"style="width:100%"><el-table-columnv-for="(item,......
  • C++基础-STL queue
    queue队列1、特性在一端插入元素,在一端取出元素,具有先进先出的特点,插入和删除都较快。2、适用情况需要一个先进先出结构时使用。3、头文件#include<queue>4、复杂度插入:push(),O(1)删除:pop(),O(1)查找(队列头):front(),O(1)5、定义及常用函数//默认为用deque容器实现的queue;queue<int......
  • std::allocator
    设计主要目的:减少malloc的cookie的开销设计主要方法:减少malloc的次数,用数据结构管理已经分配的内存。核心数据结构:free_list[16]存储16根链表头,free_list[i],0~15,free_list[i]管理(i+1)*16字节型区块。客户所需要内存块大小会被调整为16的倍数。流程:分配内存的时候先从战备......
  • C++基础-STL stack 栈
    stack栈1、特性在一端插入元素,在同一端删除元素,具有先进后出的特性。底层实现一般用list或deque,封闭头部即可,数据先进后出,不支持随机访问。2、适用情况需要一个先进后出结构时3、头文件#include<stack>4、复杂度插入:push(),O(1)删除:pop(),O(1)查找(栈顶):top(),O(1)5、定义及常用......
  • STD4NK60ZT4一款N沟道600 V,1.7 Ω 内阻,4A超级MESH功率MOS管
    器件描述:漏源电压(Vdss):600V连续漏极电流(Id)(25°C时):4A(Tc)栅源极阈值电压:4.5V@50uA漏源导通电阻:2Ω@2A,10V最大功率耗散(Ta=25°C):70W(Tc)类型:N沟道N沟道600V4A,请139对2659接6180。应用场景:适用于高效率开关电源、电机驱动器和照明应用等,可用于电源因数校正(PFC)电路中的桥式......
  • AtCoder Beginner Contest 315 - E (toposort)
    目录E-PrerequisitesE-Prerequisites题意n本书,序号1~n。给定阅读每本书之前必须要看的书的序号。请你输出任意一种看第一本书所需看书数量最少的方法思路利用拓扑序列先对书之间的制约关系建图,再利用bfs找到包含书本1的连通块,再对全图进行拓扑排序得到拓扑序列......
  • STL容器和算法
    目录STL容器和算法基本概念容器容器的分类序列式容器关联式容器vector容器vector的定义vector的赋值vector的大小vector的访问方式vector的元素操作deque容器list容器基本概念迭代器基本概念vector的迭代器迭代器失效算法STL容器和算法基本概念标准模板库,主要分为容器、算法、......
  • 【刷题笔记】26. Remove Duplicates from Sorted Array
    题目Givenasortedarraynums,removetheduplicatesin-placesuchthateachelementappearonlyonceandreturnthenewlength.Donotallocateextraspaceforanotherarray,youmustdothisbymodifyingtheinputarrayin-placewithO(1)extramemory.E......