gpt4 book ai didi

java - 对 ArrayList 进行选择排序

转载 作者:行者123 更新时间:2023-12-01 13:56:06 25 4
gpt4 key购买 nike

我需要根据“值”对数组列表从最高到最低进行排序,我真的被困住了:(基本上在这个项目中,他们将运行一个项目列表,这个方法应该将项目与最高值优先,所以堡垒和我尝试使用选择排序。提前感谢您的帮助:)这是我目前所拥有的

public void pickMostExpensiveFirst(ArrayList<Item> totalListOfItems)
{
int max, i ,j;
Item temp;

for (i = 0; i < totalListOfItems.size() - 1; i++)
{
max = i;

for (j = i + 1; j < totalListOfItems.size(); j++)
{
if (totalListOfItems.get(max).getValue()
.compareTo(totalListOfItems.get(j).getValue()) > 0)
max = j;
}

temp = totalListOfItems.get(i);
totalListOfItems.set(i, totalListOfItems.get(max));
totalListOfItems.set(max, temp);
}
}

最佳答案

你的问题出在这里:

if (totalListOfItems.get(max).getValue().compareTo(totalListOfItems.get(j).getValue()) > 0)
max = j;

在这里,您比较位置 max 和 j 处的 item,如果 item(max) > item(j),则将 max 替换为 j。这基本上是在寻找最低值,而不是最高值。切换过来,你的问题就解决了。

关于java - 对 ArrayList 进行选择排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19617552/

25 4 0