gpt4 book ai didi

java - Java选择排序的实现

转载 作者:行者123 更新时间:2023-11-29 07:15:48 25 4
gpt4 key购买 nike

我想我已经完成了选择排序,但我不确定。这真的是选择排序的实现吗?

static void selectionSort()
{
int min = Integer.MIN_VALUE;
int n = 0;
for(int I=0; I<arraySize; I++)
{

min = dataArray[I];
for(int j=I; j<n; j++)
{
if(dataArray[min]<dataArray[j])
{
min = j;
if(dataArray[min] < dataArray[I])
{
int temp = dataArray[I];
dataArray[I] = dataArray[min];
dataArray[min] = temp;
}
}
}
}
}

最佳答案

我不确定我完全理解您的算法是如何工作的。具体来说,你做

min = dataArray[i];

后来

dataArray[min]<dataArray[j]

即您将 min 视为数组中的值和索引。

选择排序的工作原理如下:

  1. 找出列表中的最小值
  2. 与第一个位置的值交换
  3. 对列表的其余部分重复上述步骤

( source )


要使您的代码准确地实现选择排序,所需的更改如下:

  1. 将内部循环更改为只是找到最小元素的索引。例如,将其称为 minIndex
  2. 在内部循环之后进行交换。即,将索引 I 处的元素与 minIndex 交换。

哦,正如 DonCallisto 在评论中指出的那样,您可能想要执行 n = dataArray.length 而不是 n = 0 :-)

关于java - Java选择排序的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9720533/

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