又是排序算法

好久没发帖了 再次发个排序算法的文章

这种东西吧要难不难 要简单逻辑也不是很简单。

一句话 思路最重要 程序设计是跟语言无关的 也不是靠背的

//冒泡排序方式 你懂的 只要逻辑清晰思路对了 啥都好整
            int[] arr = { 3, 1, 4, 2 };

            for (int i = 0; i < arr.Length; i++)//遍历元素的次数(按索引) 
            {
                //为什么j=i 因为在i以前的元素已经排好序了
                //为什么把j=i换成j=0排序的结果就变成倒序了呢 因为每次遍历都从j开始 到时候索引i已经大于j了 于是就变成从前面往后面交换(大的值换到末尾去了)
                for (int j = i; j < arr.Length; j++)
                {
                    int tmp;
                    if (arr[j] > arr[i])//每次都把i后面的元素跟第一个元素arr[i]进行比较 于是大的数自然而然就“冒”起来了
                    {
                        tmp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = tmp;
                    }
                }
                foreach (int a in arr)
                    Console.WriteLine(a);
                Console.WriteLine("++");
            }
posted @ 2011-02-24 14:30  assassinx  阅读(421)  评论(2编辑  收藏  举报