Javaの選択ソートを使用して、int配列のスワップと比較の数を調べようとしています。私はループ内のどこでスワップと比較がカウントされているのか混乱しています。どんな指針も大変ありがとうございます。選択ソーターの作成に問題がある
public class IntSelectionSorter {
public static int count = 0;
public static int count2 = 0;
public static void selectionSort(int[] array)
{
int startScan;
int index;
int minIndex;
int minValue;
for (startScan = 0; startScan < (array.length - 1); startScan++)
{
minIndex = startScan;
minValue = array[startScan];
for (index = startScan + 1; index < array.length; index++)
{
count2++;
if (array[index] < minValue)
{
minValue = array[index];
count++;
minIndex = index;
}
}
array[minIndex] = array[startScan];
count++;
array[startScan] = minValue;
count++;
}
}
}
特定の問題とは何ですか?あなたは何をすることを期待していますか?代わりに何をしますか? –
私は、スワップと比較の回数を数えると仮定しているint配列の選択ソートを作成しています。私は既に同じint配列を使用するバブルソーターを作成しました。私はこのセレクションソーターの適切な場所でスワップ(カウント)と比較(カウント2)を使用しているかどうかはわかりません。私は48のスワップと300の比較の答えを得ています。私が "count"と "count2"を置く場所を変更すると、私は別の答えを得ます。他のファイルも投稿できます。 – Nosuchluck