这个根据书上改了一下的代码,结果是可行的。我也是跟着老师的题去写的,希望有大佬可以给出更好的方法去进行插入排序。
import java.util.Scanner;
public class Test34 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int a[] = new int[10];
for (int i = 0; i < a.length; i++) {
System.out.println("请输入第" + (i + 1) + "个数字");
a[i] = s.nextInt();
}
System.out.println("\n数据输入完毕。");
System.out.println();
//以上为输入部分
a =ser(a);
System.out.println("");
System.out.println("排序后的数组元素");
for(int i=0;i<a.length;i++){
System.out.print(" "+a[i]);
}
//以上为输出部分。
}
private static void swap(int x[],int a, int b) {
int t=x[a];
x[a]=x[b];
x[b]=t;
}
public static int[] ser(int[] a) {
for(int i=0;i<a.length;i++) {
for(int j=i;j>0 && a[j-1]>a[j];j--) {
swap(a,j,j-1);
}
}
return a;
}
}
以下是运行后的结果: