传智播客C#基础--选择排序--03

选择排序

 就用这个整数数组,进行选择排序int[] number = { 2,5,6,1,9,6,2,0};

概念:先假设第一个元素里面的数是最大的。然后用第一个元素里面的数和后面的每一个元素里的数做对比,符合你的要求就把里面的数值进行交换,交换完之后继续往后对比。按照从大到小排序,每轮对比完都会产生一个本轮最大的放到前面。

代码:

//选择排序
            int[] number = { 2,5,6,1,9,6,2,0};
            //从大到小排序
            int temp = 0;//临时变量
                         //排序之前
            Console.WriteLine("选择排序之前");
            for (int z = 0; z < number.Length; z++)
            {
                Console.Write(number[z] + "\t");
            }
            //排序
            //最多对比次数
            for (int i = 0; i <number.Length; i++)
            {
              
                //每次对比完,再次对比都会减少一个对比元素。
                //每个元素的对比次数
                for (int j = i+1; j <number.Length; j++)
                {
                    //判断大小交换变量位置
                    if (number[i]<number[j])
                    {
                        //如果前的小于后面的,就交换顺序
                        temp = number[i];
                        number[i] = number[j];
                        number[j] = temp;

                    }
                    
                }
            }
            Console.WriteLine();
            //对比之后
            Console.WriteLine("选择排序之后");
            Console.WriteLine();
            foreach (int item in number)
            {
                Console.Write(item +"\t");
            }
            Console.ReadKey();

结果:(从大到小排序)

posted @ 2019-10-07 09:15  康世行  阅读(27)  评论(0)    收藏  举报