C++排序
一、C++结构体排序
我将结构体 存入在一个vector 中,最近需要在C++中按照结构体中的 进行排序,在网上查找了一些资料,这里对采用的方法记录一下,方便以后使用。
1、引入头文件
#include <algorithm>
2、定义排序方法
struct result
{
float score;
...
}
bool cmp (result a, result b) { return a.score < b.score; // < 按照升序排列, > 按照降序排列 }
3、sort()排序
int main() { ... sort(vResult.begin(), vResult.end(), cmp); ... }
二、 按给定索引排序
std::vector<int> sortedIds; for (int i = 0; i < boundIds.size(); ++i) { sortedIds.push_back(i); }
// boundIds type is std::vector<std::pair<int, int>> std::sort(sortedIds.begin(), sortedIds.end(), [&](const int& a, const int& b) { return ((boundIds[a].first + boundIds[a].second) < (boundIds[b].first + boundIds[b].second)); });
std::vector<std::vector<int> > tmpArray;
for (const int& idx : sortedIds) {
tmpArray.push_back(tArray[idx]);
}
tmpArray.swap(tArray);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端