JAVAソートアルゴリズム--ソートを挿入
/**
* JAVA --
*
* @author JAVA 32413139
*
*/
public class Test {
public static int[] a = { 10, 32, 1, 9, 5, 7, 12, 0, 4 }; //
public static void main(String args[]) {
int i; //
int Index = a.length;//
System.out.print(" : ");
for (i = 0; i < Index - 1; i++)
System.out.print(" \t" + a[i]);
System.out.println("");
InsertSort(Index - 1); //
//
System.out.print(" : ");
for (i = 0; i < Index - 1; i++)
System.out.print("\t " + a[i]);
System.out.println("");
}
public static void InsertSort(int Index) {
int i, j, k; //
int InsertNode; //
for (i = 1; i < Index; i++) //
{
InsertNode = a[i]; //
j = i - 1; //
//
while (j >= 0 && InsertNode < a[j]) {
a[j + 1] = a[j];
j--;
}
a[j + 1] = InsertNode; //
//
System.out.print(" : ");
for (k = 0; k < Index; k++)
System.out.print(" " + a[k] + " ");
System.out.println("");
}
}
}
実行結果
ソート前:10 32 1 9 5 7 12 0 4
ソート中:10 32 1 9 5 7 12 0 4
ソート中:1 10 32 9 5 7 12 0 4
ソート中:1 9 10 32 5 7 12 0 4
ソート中:1 5 9 10 32 7 12 0 4
ソート中:1 5 7 9 10 32 12 0 4
ソート中:1 5 7 9 10 12 32 0 4
ソート中:0 1 5 7 9 10 12 32 4
ソート中:0 1 4 5 7 9 10 12 32
ソート後:0 1 4 5 7 9 10 12 32