C#排序

1.什么事排序,排序就是将几个大小不一的数从新排列起来,让他们从小到大的顺序排列。

如:

      一个叫int[] number=new int[]{2,1,5,6,3,10}的数组。

     我们将他排序按照从小到大的顺序排列,那么结果是:

     1,2,3,5,6,10

     那么要怎么要实现这样的效果;

2.使用任意的排序算法对数组进行排序,排序后,重新输出数组内容。

            

            int[] num = new int[6] { 1, 21, 3, 66, 5, 16 };

            for (int i = 0; i < num.Length; i++) 

            {

                for (int j = i + 1; j < num.Length; j++) 

                {

                    if (num[i] > num[j])  

                    {

                        int a = num[i];        

                        num[i] = num[j]; 

                        num[j] = a;      

                    }

                

                }

            }

            for (int i = 0; i < num.Length; i++) 

            {

                Console.WriteLine(i+1+”赋值:”+num[i]+“,”);

            }                                            

            Console.ReadLine();

1.首先我们要设置一个数组,至于内容我们可以随便写,以上面的代码为例子,我们定一个长度为6的数组:int[] num = new int[6] { 1, 21, 3, 66, 5, 16 };,里面的元素分别在后面的。下面我们让数组里面的数进行比较,那么我们就得先定义一个元素,开始和数组里面的其他元素进行比较,如果定义的数比对比的数大,那么交换他们,最后是新升序的排列,所以我们还是要用到for循环找到数组里每一个元素的下标: for (int i = 0; i < num.Length; i++) ,然后我们用嵌套的方式进行比较,在写一个for循环: for (int j = i + 1; j < num.Length; j++) ,这个时候一定要注意的是这个循环我们定义的j=i+1,指的是用i的第一个元素和j的第一个元进行比较,但是都是一个数字相比较那肯定是不行的,所以j=i+1;用第一个元素和第二个元素进行比较,我们用if判断   if (num[i] > num[j])  当i的值大于j的值,交换位置,那么我们进入交换,首先定义一个新的元素,将他赋值给它 int a = num[i]; ,那么此时num[i]为空,在将  num[i] = num[j];也就是将j的值赋值给i,此时num[j]为空,最后我们将  num[j] = a;,完成交换,依次循环下去,最后得到一个新的数组,我们依然用for循环,进行遍历,然后输出   Console.WriteLine(i+1+”赋值:”+num[i]+“,”);,最后得到升序结果。

猜你喜欢

转载自www.cnblogs.com/dmiao/p/9427834.html