欢迎光临散文网 会员登陆 & 注册

冒泡排序

2023-01-12 12:26 作者:此城过客  | 我要投稿

对数组进行排序

Array.Sort(nums);//从小到大排,升序排序

Array.Reverse(nums);//从大到小排,降序排序

但是这个也有缺陷,Sort和Reverse,只是能对有规律的数,进行升序降序排列。比如你数组的值,是012345从小到大,或者543210从大到小,他就能实现升序或者降序排列,如果没规律,他就只是执行颠倒位置,把数的值颠倒位置。

比如nums[0],nums[1],nums[2],nums[3],nums[4],nums[5],

Reverse可以给你输出nums[5],nums[4],nums[3],nums[2],nums[1],nums[0],

他的升序降序是按数值在数组中的位置来,而不是数值本身的大小来。

如果一组杂乱无章的数,要实现大小的升序降序排,就还是得用循环

——————————————————————————————————————

这种排序方法,如果要用循环来写,那就是这样:

int[] nums = { 0,1,2,3,4,5,6,7,8,9 };//数组的Length是10,要比9次

for (int i = 0; i < nums.Length - 1; i++)//9

{

      for (int j = 0; j < nums.Length - 1 - i; j++)//8

           {

                  if (nums[j] > nums[j + 1])//这个大于号,是升序排序;写小于号就是降序排

                  {

                        int temp = nums[j + 1];

                        nums[j + 1] = nums[j];

                        nums[j] = temp;

                   }

           }

}


冒泡排序的评论 (共 条)

分享到微博请遵守国家法律