开发者社区> 问答> 正文

编写一个采用冒泡法对n个数由小到大进行排序的函数

编写一个采用冒泡法对n个数由小到大进行排序的函数

展开
收起
知与谁同 2018-07-18 16:19:26 4206 0
1 条回答
写回答
取消 提交回答
  • static void BubbleSort(int[] ia){
            // 外层循环控制遍历次数
         for (int i = 0; i < ia.Length - 1; i++) {  
            // 内层循环控制最大值沉下去,最小值慢慢浮上来
            // 如第1次,第一大的沉下去,第2次,第二大的沉下去,依此类推...
            // 大的沉下去,那么小的自然就浮上来
            // ia.Length - 1 - i这句代码的意思是:经过每次交换后,沉下去的
            // 就不用再比较,所以减i,减1是因为数组的索引从0开始
            for (int j = 0; j < ia.Length - 1 - i; j++) { 
                 if (ia[j] > ia[j+1]){
                   int temp = ia[j];
                   ia[j] = ia[j + 1];
                   ia[j + 1] = temp;
                }
            }
         }
    }

    public const int MaxValue = 10;
    static void Main(string[] args){
         int[] ia = new int[MaxValue];

         for (int i = 0; i < MaxValue; i++){ // 随机产生MaxValue个数字
             ia[i]=new Random().Next(1, 101);
             System.Threading.Thread.Sleep(50);
         }
               
         BubbleSort(ia);

         foreach (var item in ia){
             Console.WriteLine(item);
         }
     
         Console.ReadKey(true);
    }
    2019-07-17 22:49:58
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载