使用选择排序对对象数组进行排序c++
Using a selection sort to sort an array of objects c++
目前,我已经编写了一个基本的选择排序,我需要让它根据类成员对对象数组进行排序-如果对守门员[MAX_goalies].getWins((进行排序,那么getWins(((中的整数需要按降序排列。以下是到目前为止我对排序功能的了解:
void sortWins(int array[], int size)
{
int maxIndex, maxValue;
for (int start=0;start<(size - 1);start++)
{
maxIndex = start;
maxValue = array[start];
for (int index = start + 1; index < size; index ++)
{
if (array[index].getWins() > maxValue.getWins())
{
maxValue = array[index];
maxIndex = index;
}
}
swap(array[maxIndex], array[start]);
}
}
如何确保sort函数正在对类成员getWins((进行排序?
您可以使用std::sort
函数,指定所需的排序条件。一个可能的例子是:
std::sort(objectsVector.being(), objectsVector.end(), [](object a, object b) -> bool {
return a.getWins() > b.getWins();
});
通过这种方式,在objectsVector中,您将成为对象列表,按降序排列。
如果要使用实现选择排序的自定义函数,则必须向该函数传递一个对象数组,而不是整数。然后在函数内部,您将对getWins((返回的值进行比较
相关文章:
- 二叉排序树无法编译
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- C++选择排序算法中的逻辑错误
- 使用C++程序合并排序没有得到正确的输出
- 计算排序向量的向量中唯一值的计数
- 排序算法c++
- 使用2个键的cpp-stl::优先级队列排序不正确
- 将结构向量排序为子组
- 在c++中尝试对对象数组进行排序时,出现std:bad_alloc错误
- 如何对点云数据进行排序
- 对字符串进行排序时,在c++中处理sort()
- 是否有类似std::lower_bound的函数,而不需要排序/分区输入
- 下面是排序算法O(n)吗
- std::sort()函数无法对向量的一部分进行排序
- shell排序中的交换和比较
- clang格式:禁用排序包含
- 显示错误输出的简单数组排序程序
- 为什么我的排序算法会更改数组值
- 试图在c++中对数字列表进行排序
- 如何在C++中对数组进行冒泡排序