• 2017/12/30Java基础学习——排序算法の选择法与冒泡法的比较


     1 //题意要求:使用选择法、冒泡法将数组按从小到大的顺序排列
     2 public class HelloWorld {
     3     public static void main(String[] args) {
     4         //选择法排序的思路: 
     5         //把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 
     6         //比较完后,第一位就是最小的 
     7         //然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个位置来 
     8         //比较完后,第二位就是第二小的 
     9         //以此类推,归纳总结形成for嵌套
    10         System.out.println("由小到大排序选择法一:数组a");
    11         int a [] = new int[]{18,62,68,82,65,9}; 
    12         for (int i = 0; i < a.length - 1; i++) { //一共比较了(a.length-1)次
    13             for (int j = i + 1; j < a.length; j++) {
    14                 if(a[j] < a[i]){
    15                     int miccle = a[i];
    16                     a[i] = a[j];
    17                     a[j] = miccle;
    18                 }        
    19             }                 
    20         }
    21           for (int i = 0; i < a.length; i++) {//输出用选择法排序的结果
    22             System.out.print(a[i] + " ");
    23         }
    24         System.out.println();
    25 //        冒泡法排序的思路: 
    26 //        第一步:从第一位开始,把相邻两位进行比较 
    27 //        如果发现前面的比后面的大,就把大的数据交换在后面,循环比较完毕后,最后一位就是最大的 
    28 //        第二步: 再来一次,只不过不用比较最后一位 
    29 //        以此类推,归纳规律如下        
    30         System.out.println("用冒泡法从大到小排序");
    31         int c [] = new int[]{18,62,68,82,65,9};
    32         for (int i = 0; i < c.length - 1; i++) {//长度为c.length的数组需要循环(c.length - 1)轮
    33             for (int j = 0; j < c.length - 1 - i ; j++) {
    34                 if(c[j] < c[j + 1]){
    35                     int mic = c[j];
    36                     c[j] = c[j + 1];
    37                     c[j + 1] = mic;
    38                 }
    39             }
    40         }
    41         for (int k = 0; k < c.length; k++) {//输出冒泡法排序后的结果
    42             System.out.print(c[k] + " ");
    43         }
    44     }
    45 }

    详细规律请参考链接: 选择法排序 和 冒泡法排序

  • 相关阅读:
    Codeforces Round #696 (Div. 2) A
    软件体系结构期末复习
    LINUX 下配置 redis
    2020-09-30 刷题记录
    2020-09-29 刷题记录
    Codeforces Round #673 (Div. 2) A
    2020-09-26 刷题记录
    2020-09-25 刷题记录
    C++ 类虚函数实现原理的验证(指向包含类虚函数地址的数组的指针)
    Saleae8 与 SaleaeLogic、PulseView上位机的使用
  • 原文地址:https://www.cnblogs.com/lijiehua/p/8148672.html
Copyright © 2020-2023  润新知