• 冒泡排序、选择排序(升序排序,降序排序)


    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("==================冒泡排序后(左大右小)============================");

    打印结果:

  • 相关阅读:
    比较重量(网易笔试题)
    抽象工厂模式
    简单工厂模式
    R语言dai xie
    Hadoop综合大作业
    hive基本操作与应用
    用mapreduce 处理气象数据集
    熟悉常用的HBase操作,编写MapReduce作业
    爬虫大作业
    第三章 熟悉常用的HDFS操作
  • 原文地址:https://www.cnblogs.com/janesyf/p/7840978.html
Copyright © 2020-2023  润新知