私が知る限り、ここで基本的な挿入ソートを実装しました。出力は、ソートされていない同じ配列です。私はcompareToを正しく利用していますか? ゼロより大きいまたは小さい数値であることの意味がわかりません。
import java.util.Arrays;
public class Test {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int lineNumber = 5;
int i,j;
String key;
String[] inputArray = {"E","D","C","B","A","B"};
System.out.println(Arrays.toString(inputArray));
for (j = 1; j < lineNumber; j++) {
key = inputArray[j];
i = j - 1;
while (i >= 0) {
if (key.compareTo(inputArray[i]) < 0) {
break;
}
inputArray[i + 1] = inputArray[i];
i--;
}
inputArray[i + 1] = key;
System.out.println(Arrays.toString(inputArray));
}
System.out.println(Arrays.toString(inputArray));
}
走る:
[E, D, C, B, A, B]
[E, D, C, B, A, B]
[E, D, C, B, A, B]
[E, D, C, B, A, B]
[E, D, C, B, A, B]
[E, D, C, B, A, B]
BUILD SUCCESSFUL (total time: 0 seconds)