「挿入ソート」を行うプログラムをc#で開発しました。コードは要素の最大値と要素の値を取り、ソートされた値のステップを1つずつ示します。
コード:
static void insertionSort(int[] ar)
{
for (int i = 1; i < ar.Length; i++)
{
int temp = ar[i];
int j = i - 1;
while (j >= 0 && ar[j] > temp)
{
ar[j + 1] = ar[j];
foreach (int val in ar)
Console.Write(val + " ");
Console.WriteLine();
j--;
}
}
}
static void Main(String[] args)
{
int ar_size;
ar_size = Convert.ToInt32(Console.ReadLine());
int[] ar = new int[ar_size];
for (int i = 0; i < ar_size; i++)
{
ar[i] = Convert.ToInt32(Console.Read());
}
insertionSort(ar);
Console.ReadKey();
}
私が与えるサンプル入力:
5
2 4 6 8 3
来る出力:
なぜこれが起こっているのか誰でも説明できますか!
どんな助けでも大歓迎です!:)