zoukankan      html  css  js  c++  java
  • 冒泡排序、选择排序(升序排序,降序排序)

    1.选择排序

    代码:

                     int[] arr = {1,8,6,3,9,5,4,7,11};
                     int[] brr = {1,8,6,3,9,5,4,7,11};
                    int[] crr = {1,8,6,3,9,5,4,7,11};
                    int[] drr = {1,8,6,3,9,5,4,7,11};
                    System.out.println("==================选择排序(左小右大)============================");
                    System.out.println("方法1.");
                    for(int i=0; i<arr.length-1; i++){ 
                              for(int j=i+1; j<arr.length; j++){
                                        if(arr[i] > arr[j]){
                                               int c = arr[i];
                                               arr[i] = arr[j];
                                               arr[j] = c;
                                        }
                              }
                              System.out.print("外循环打印第"+(i+1)+"次:");
                              for(int ii=0;ii<arr.length;ii++){
                                     System.out.print(arr[ii]+" ");
                              }
                              System.out.println("");
                 }
                  System.out.println("方法2.");
                         for(int i=brr.length-1; i > 0; i--){ 
                                for(int j=i-1; j>0; j--){
                                       if(brr[i] < brr[j]){
                                              int c = brr[i];
                                              brr[i] = brr[j];
                                              brr[j] = c;
                                       }
                                }
                                System.out.print("外循环打印第"+(brr.length-i)+"次:");
                                for(int ii=0;ii<brr.length;ii++){
                                       System.out.print(brr[ii]+" ");
                                }
                                System.out.println("");
                  }
                  System.out.println("==================选择排序后(左小右大)============================");
                  System.out.println("==================选择排序后(左大右小)============================");
                  System.out.println("方法1.");
                  for(int i=0; i<crr.length-1; i++){ 
                         for(int j=i+1; j<crr.length; j++){
                                if(crr[i] < crr[j]){
                                       int c = crr[i];
                                       crr[i] = crr[j];
                                       crr[j] = c;
                                }
                         }
                         System.out.print("外循环打印第"+(i+1)+"次:");
                         for(int ii=0;ii<crr.length;ii++){
                                System.out.print(crr[ii]+" ");
                         }
                         System.out.println("");
                  }


                  System.out.println("方法2.");
                   for(int i=drr.length-1; i > 0; i--){ 
                         for(int j=i-1; j>=0; j--){
                                 if(drr[i] > drr[j]){
                                       int c = drr[i];
                                       drr[i] = drr[j];
                                       drr[j] = c;
                                }
                         }
                         System.out.print("外循环打印第"+(brr.length-i)+"次:");
                         for(int ii=0;ii<drr.length;ii++){
                                System.out.print(drr[ii]+" ");
                         }
                         System.out.println("");
                  }
    System.out.println("==================选择排序后(左大右小)============================");

    打印结果:

    2.冒泡排序

    代码:

    int[] arr = {1,8,6,3,9,5,4,7,11};
    int[] brr = {1,8,6,3,9,5,4,7,11};
    int[] crr = {1,8,6,3,9,5,4,7,11};
    int[] drr = {1,8,6,3,9,5,4,7,11};
    System.out.println("==================冒泡排序(左小右大)============================");//升序排序
    System.out.println("方法1.");
    for(int i=0; i<arr.length-1; i++){ 
           for(int j=arr.length-1; j>i; j--){
                  if(arr[j-1] > arr[j]){
                         int c = arr[j-1];
                         arr[j-1] = arr[j];
                         arr[j] = c;
                  }
           }
           System.out.print("外循环打印第"+(i+1)+"次:");
           for(int ii=0;ii<arr.length;ii++){
                  System.out.print(arr[ii]+" ");
           }
           System.out.println("");
    }
    System.out.println("方法2.");
    for(int i=brr.length-1; i > 0; i--){ 
           for(int j=0; j<i; j++){
                  if(brr[j+1] < brr[j]){
                         int c = brr[j+1];
                         brr[j+1] = brr[j];
                         brr[j] = c;
                  }
           }
           System.out.print("外循环打印第"+(brr.length-i)+"次:");
           for(int ii=0;ii<brr.length;ii++){
                  System.out.print(brr[ii]+" ");
           }
           System.out.println("");
    }
    System.out.println("==================冒泡排序后(左小右大)============================");
    System.out.println("==================冒泡排序后(左大右小)============================");//降序排序
    System.out.println("方法1.");
    for(int i=0; i<arr.length-1; i++){ 
           for(int j=arr.length-1; j>i; j--){
                  if(arr[j-1] < arr[j]){
                         int c = arr[j-1];
                         arr[j-1] = arr[j];
                         arr[j] = c;
                  }
           }
           System.out.print("外循环打印第"+(i+1)+"次:");
           for(int ii=0;ii<arr.length;ii++){
                  System.out.print(arr[ii]+" ");
           }
           System.out.println("");
    }
    System.out.println("方法2.");
    for(int i=brr.length-1; i > 0; i--){ 
           for(int j=0; j<i; j++){
                  if(brr[j] < brr[j+1]){
                         int c = brr[j+1];
                  vbrr[j+1] = brr[j];
                         brr[j] = c;
                  }
           }
           System.out.print("外循环打印第"+(brr.length-i)+"次:");
           for(int ii=0;ii<brr.length;ii++){
                  System.out.print(brr[ii]+" ");
           }
           System.out.println("");
    }
    System.out.println("==================冒泡排序后(左大右小)============================");

    打印结果:

  • 相关阅读:
    如何使用BackgroundWorker
    Start SQL Service failed with message: "the log scan number passed to log scan in database 'master' is not valid"
    Cmdkey 凭证管理器工具
    PowerShell根据下载link下载文件
    vnc远程到连接linux服务器。
    shell远程取数据的脚本.
    about开源监控nagios.
    Android入门:File文件存储
    Android入门:Layout
    Android入门:Log介绍
  • 原文地址:https://www.cnblogs.com/janesyf/p/7840978.html
Copyright © 2011-2022 走看看