我需要查看array(ar[])
,找到最小值(最小值),将其转移到index[0]
ar2[]
,然后将ar[]
处的数字替换为1000所以我可以循环并连续将其他最低数字放在ar2[]
中。
public class Sort
{
public static void main (String args[])
{
int ar[] = {6,7,2,1,5,9,4,2,3};
int i, j;
int ar2[] = new int[9];
final int ONE = 1000;
for(i=0; i < ar.length; i++)
{
int smallest = ar[0];
for(j=1; j<ar2.length; j++)
{
if (ar[i]<ar[j])
{
smallest = ar[i];
ar[i] = ONE
}
ar2[j] = smallest;
}
}
for(j=0;j<ar2.length;j++)
{
System.out.println("ar2[" + j + "] = " + ar[j]);
}
}
}
答案 0 :(得分:0)
以下是您的排序代码的修复:但这不是很好的算法。它具有O(n ^ 2)复杂度,但其他具有O(N * log2N)。看看here了解详情。
for (i = 0; i < ar.length; i++) {
int smallest = ar[i];
int smallestIndex = i;
for (j = 0; j < ar2.length; j++) {
if (ar[j] < smallest) {
smallest = ar[j];
smallestIndex = j;
}
}
ar2[i] = smallest;
ar[smallestIndex] = ONE;
}