数据结构之- 选择排序

好久没有看算法了,今天想想选择排序(唉,跟冒泡排序搞混了),写了半个小时才写出来,人真的笨了。唉,忘记了!下次面试别人的时候,可以考考。

选择排序第一轮 找出最大或者最小的数,放到第一个位置。

第二轮 找出除第一个数以外的 最大或者最小的数,放到第二个位置。

第三轮 找出除第一个,第二个数以外的 最大或者最小的数,放到第三个位置。以此类推!

这样,共整个数组的长度*整个数组的长度次循环后,得到排序好的数组

View Code
static void Main(string[] args)
        {
            int[] numList = new int[] { 4, 3, 5, 6, 7, 9, 10, 8 };
            SelectSort(numList);
            foreach (var num in numList)
            {
                Console.WriteLine(num);
            }
        }

        public static void SelectSort(int[] numList)
        {
            if (numList.Length.Equals(0))
                return;
            else if (numList.Length.Equals(1))
                return;
            else
            {
                int temp;
                for (int i = 0; i < numList.Length; i++)
                {
                    for (int j = i + 1; j < numList.Length; j++)
                    {
                        if (numList[i] < numList[j])
                        {
                            temp = numList[i];
                            numList[i] = numList[j];
                            numList[j] = temp;
                        }
                    }
                }
            } 

 

posted @ 2013-04-27 23:10  Binyao  阅读(198)  评论(0编辑  收藏  举报