読者です 読者をやめる 読者になる 読者になる

プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

バブルソート

C#


独習C#より

バブルソートはパフォーマンスでは最悪のソートと言われているらしいが、
物には順序がある。やりましょう。

    class Program {
        static void Main(string[] args) {
            int[] nums = { 10,9,8,7,6,5,4,3,2,1};
            int a, b, temp;

            //ソートする前の配列要素を表示
            Console.Write("既存の配列順序は");
            for(int i=0;i< nums.Length; i++) {
                Console.Write(" " + nums[i]);
            }
            Console.WriteLine();

            //バブルソート
            for (a = 1; a < nums.Length; a++) {
                for(b=nums.Length-1;b>= a; b--) {
                    if (nums[b - 1] > nums[b]) {
                        //もし大小が逆ならば要素を交換する
                        temp = nums[b - 1];
                        nums[b - 1] = nums[b];
                        nums[b] = temp; 
                    }
                }
            }

            //ソート後の配列要素を表示
            Console.Write("ソート後の配列順序は");
            for (int i = 0; i < nums.Length; i++) {
                Console.Write(" " + nums[i]);
            }
            Console.WriteLine();
        }
    }

実行結果
f:id:tos5511:20151229110436j:plain

個人的にはステップインでウォークスルーすることで理解度が高まりやすい。