我的家庭作业是为了做到这一点
对于下面的数组,演示Selection和Insertion Sorts的步骤(pass):
5 2 3 1 6 9 8
请务必写出原始数组,以及每次传递后的样子。
我收到一个奇怪的if语句错误。
我的错误说=非法启动类型。在源头的一个位置 在预期类型的地方还有别的东西,很可能是a java关键字。检查此行是否有错误的定义类型
。任何人都可以帮助我。以下是我的代码
import java.util.*;
public class Selection_Sort
{
final int[] myArray = { 5, 2, 3, 1, 6, 8, 9 };
int min;
{
int min, temp;
for (int index = 0; index < myArray.length-1; index++)
{
min = index;
for (int scan = index+1; scan < myArray.length; scan++)
if (myArray[scan] < myArray[min])
min = scan;
temp = myArray[min];
myArray[min] = myArray[index];
myArray[index] = temp;
}
}
if (min !=i)
{
final int temp = myArray[i];
myArray[i] = myArray[min];
myArray[min] = temp;
}
System.out.println(myArray[i]);
}
答案 0 :(得分:0)
在清理完语法错误并最好地猜测代码结构的含义之后,结果如下:
import java.util.*;
public class Selection_Sort {
final static int[] myArray = { 5, 2, 3, 1, 6, 8, 9 };
public static void main(String[] args){
int min, temp;
for (int index = 0; index < myArray.length-1; index++) {
min = index;
for (int scan = index+1; scan < myArray.length; scan++){
if (myArray[scan] < myArray[min]){
min = scan;
}
}
temp = myArray[min];
myArray[min] = myArray[index];
myArray[index] = temp;
if (min != index) {
temp = myArray[index];
myArray[index] = myArray[min];
myArray[min] = temp;
}
System.out.println(myArray[index]);
}
}
}
程序的输出不是你想要的,但这是你的起点。
一旦你看了这个并看看有效的程序是什么样的,那么你就可以开始对你的代码进行修改,使它做你想做的事。
以下是一些提示: