ソートの選択ソート
1257 ワード
ソートを選択する基本的な考え方は,ソートされた記録シーケンスに対してn−1パスの処理を行い,iパス目の処理はL[i..n]の最小者をL[i]と位置を交換することである.これにより,iパス処理後,前のi個の記録の位置が正しくなった.
この方法の複雑度はO(n^2)である.
void choiceSort(int[] unsorted) {
for(int i =0;i < unsorted.length; i++){
int min = i;
for(int j = i+1; j <unsorted.length; j++){
if(unsorted[min] > unsorted[j]){
min = j;
}
}
if (i != min) {
int tmp = unsorted[min];
unsorted[min] = a[i];
unsorted[i] = tmp;
}
}
}
この方法の複雑度はO(n^2)である.