C#での配列の並べ替えに関するタスクがいくつかあります。私は考えられるすべてのことを試みてきました-運がありません。
タスクは、既知の並べ替えアルゴリズム(挿入、選択、バブル、クイック)によって整数の配列を並べ替えることです。つまり、最小の要素のみを並べ替える必要があります。M
例:7つの要素の配列があり2 9 8 3 4 15 11
、配列がになるように最小の3つの要素を並べ替える必要があります2 3 4 9 8 15 11
。
助けてください、私はここSOでも、Googleのどこでも何も見つけられないようです。私は私のためにすべてのアルゴリズムを実行するように求めているわけではありません。それがどのように可能であるかを把握するために、そのうちの1つが必要です。
E:考えてくれてありがとう。私はあなたのすべての推奨事項を確認し、次のような挿入ソートを作成することを達成しました。
static int[] insertSort(int[] arr, out int swaps, out int checks) {
int step = 0;
swaps = 0;
checks = 0;
for (int i = 0; i < arr.Length; i++) {
int min = arr[i], minind = i;
for (int j = i + 1; j < arr.Length; j++) {
checks++;
if (arr[j] < min) {
min = arr[j];
minind = j;
}
}
int temp = arr[minind];
if (step < M) {
for (int j = minind; j > i; j--) {
swaps++;
arr[j] = arr[j - 1];
}
arr[i] = temp;
swaps++;
step++;
}
}
return arr;
}
スワップとチェック-私のアプリケーションの要件。
PS私は、SOが誰かのために宿題をするのが好きではないことを何度も見てきました。だから私はコードを求めていません。それを達成する方法についての考えを求めただけです。
ここで私を助けてくれた人たちにもう一度感謝します。