直接挿入ソートアルゴリズムJava実装
ソートされるレコードを1つずつ、すべての挿入が完了するまで、前に並べられたサブシーケンスの適切な位置にキーワードサイズで挿入します.
配列をa[0...n-1]とする
public void sort(int[] array) { int i, j, k;
for (i = 1; i = 0; j--) { // 0 i-1 i , j
if (array[j] j; k--) { // j i-1
array[k + 1] = array[k];
}
array[k + 1] = tmp; // i j
}
}
}
このようなコードは比較的長いので,これを書き換えることができる.検索とデータを後方に移動してマージします.
public void sort(int[] array) { for (int i = 1; i i-1
int tmp = array[i]; // i
int j;
for (j = i - 1; j >= 0 && array[j] > tmp; j--) { // 0 i-1, 0 i-1 i ,
array[j + 1] = array[j];
}
array[j + 1] = tmp; // i
}
}
}