私は整数のリストを調べて、最小の数字を選び、それをより大きなものと交換する選択ソートをしようとしています。リストの最初の番号。このコードはちょうど4つの整数の短い文字列で練習しています。私が苦労しているのは、移動する前に最小の数字を見つけるために整数の全リストを調べることです。私はこれが独自のネストされたforループとしてうまくいくことを見出しましたが、整数をスワップしようとしたときに最も小さい数字を指していたインデックスを「覚えていません」(コメントアウトされたコード行です。 'j'が何であるかは分からない)。 forループ内でこれを実行しようとすると、他の小さな整数があるかどうかを確認する前に、交換している最初の整数よりも早い最初の整数を早期に交換します。正しい方向のヒントがあれば幸いです。ありがとうございました!C(選択ソート)のforループの外側でforループインデックスを使用する方法
int main (void)
{
int tmp;
int n = 4;
int values[] = {5,3,4,1};
for (int i=0; i < n; i++)
{
int minimum = values[i];
for (int j=1; j < n; j++)
{
if (values[j]<minimum)
{
minimum=values[j];
}
}
tmp = values[i];
values[i] = minimum;
//values[j] = tmp;
}
}
'minimum_j = j'のような別の変数で' j'を覚えることができます。ここで 'int_min_j'は関数スコープで定義されています。または「私」か何でも。 –
'int最小=値[i];' - > 'int min_i = i;' [this](http://ideone.com/jXJvs4) – BLUEPIXY