C++结构或数组排序
C++ struct or array sorting
您好,我有结构排序功能,现在我只是想知道是否有更简单的方法可以做到这一点:
void Sorting(Sheeps v[],int all){
for(int a =0; a < all; a++){
for(int b = a+1; b < all; b++){
if(v[b].dna_mach_rate > v[a].dna_mach_rate){
v[4].dna_mach_rate = v[a].dna_mach_rate;
v[a].dna_mach_rate = v[b].dna_mach_rate;
v[b].dna_mach_rate = v[4].dna_mach_rate;
}
}
}
v[4].dna_mach_rate = 0;
}
所以这个函数只是运行槽结构并替换值,如果从大到小,但这是很多代码来做到这一点,所以我想知道是否有像"php"或"javascript"、"ushort"或类似的东西这样的函数,或者更好的排序数组或结构的方法这就是我在"JavaScript"中所做的:
arrayname.sort(function(a, b){return b.speed - a.speed});
在 PHP 中几乎相同,所以我想知道是否有类似甚至更好的方法来在 C++ 中对数组或结构进行排序
std::sort(v, v+all, [](Sheeps const& lhs, Sheeps const& rhs){
return lhs.dna_mach_rate < rhs.dna_mach_rate;
});
在C++中排序,该将长度all
的数组v
并将它们按顺序排列,以便最低dna_mach_rate
排在第一位。
自然,您需要先#include <algorithm>
。 这也使用 C++11 功能,但此时 C++11 已有 5 年的历史。
相关文章:
- std::vector的包装器,使数组的结构看起来像结构的数组
- 显示错误输出的简单数组排序程序
- C++具有动态分配的字符数组的结构
- 复制 C 样式数组和结构
- 如何填充包含指针数组的结构数组
- 如何修复访问动态数组中结构中的字符串变量时"segmentation fault (core dumped)"错误
- sizeof(空结构)和sizeof(带有空数组的结构)之间的区别?
- 初始化固定的 C 数组成员结构
- 对需要双精度数组和结构作为输入C++ DLL 函数的 C# 调用
- 在 c++ 中将动态分配的数组作为结构成员的分段错误?
- 将数组/对象/结构列表从C#库中传递给C MFC应用程序
- C 使用单个函数对具有多种值类型的数组排序
- 将带有字符数组的结构复制到字符数组
- 如何创建用于存储和返回浮点数数组的结构
- 2D数组排序,空格打乱顺序
- 类C++中二维数组的结构
- 努力使用指针数组对结构数组进行排序.C++
- 不使用数组对结构进行排序
- c++用数组、结构体和指针排序
- C++结构或数组排序