gpt4 book ai didi

java - 如何使用结构进行冒泡排序

转载 作者:行者123 更新时间:2023-12-01 16:15:41 24 4
gpt4 key购买 nike

我尝试通过冒泡排序方法对结构/类进行排序,我想保存在其中

我这样定义结构/类:

public static class Student {
String name;
double grade;
}

在我将所有数据插入结构或类中之后,我想通过冒泡方法对整个数组进行排序,如下所示:

public static void ordenar_burbuja(Student array[]) {
for (int i = 1; i < array.length; i++) {
for (int j = 0; j < array.length-1; j++) {
if(array[j].grade>array[j+1].grade) {
Student aux = array[j];
array[j] = array[j+1];
array[j+1] = array[j];
}
}
}
}

这个想法是将其从最高等级到最低等级排序,其中我创建了这个辅助变量。我需要更改学生姓名和学生年级位置。但我在定义辅助变量类型时遇到问题。我应该更改冒泡排序中的 .name 和 .age,还是正确的?

最佳答案

在 if block 的最后一个语句中,将其更改为:

数组[j+1] = aux

在第二条语句中,将 array[j] 分配给 array[j+1]。然后将 array[j+1] 分配给 array[j],它现在保存对 aux 引用的对象的引用。因此,您只是将 array[j+1] 和 array[j] 设置为 aux(Student 最初位于 array[j]),这不是您想要做的。

关于java - 如何使用结构进行冒泡排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62395337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com