冒泡算法--常见手写面试题

一道很常见的面试题,看似很简单,但面试时经常要求手写, 在面试略有压力的环境中,我们能发挥好吗? 好记性不如烂笔头,下面的代码都经过验证可运行的,以下均为Java代码。
1.网上最常见的冒泡算法

   static void sort1(int []array){
       for(int i = 0 ;i<array.length ;i++){
           for(int j = i + 1 ; j<array.length ;j++){
               if(arrya[i]<array[j]){
                  int temp     = array[j];
                      array[j] = array[i];
                      array[i] = temp; 
                   }
               }
           }
    }

2.冒泡排序提升效率,从后往前比

static void sort2(int []array){     
      for(int i = 0 ;i < array.length - 1; i++){
         boolean flag = false;
         for(int j =array.length - 1; j > i; j--){
             if(arrya[j] < array[j - 1]){
                int temp       = array[j];
                    array[j]   = array[j-1];
                    array[j-1] = temp;
                    flag       = true;
                  } 
           }
          if(!flag){ 
             break;
          }
     }
}

3.冒泡排序提升效率,从前往后比

static viod srot3(int []array){
    for(int i = 0 ; i <array.length -1; i++){
        boolean flag = flase;
        for(int j=0;j<array.length-i-1;j++){
            if(array[j]>array[j+1]){
               int temp       = array[j];
                   array[j]   = array[j+1];
                   array[j+1] = temp;
                   flag       = true;
               } 
         }
         if(!flag){
            break;
           }
      }
}

完整冒泡优化demon资源,亲测可用,大家复制后新建Java项目把这个文件粘贴进去就可以用了。

升序排序:

public class Test05 {
public static void main(String[] args) {
// 12,45,9,67,455,用冒泡排序实现升序排列。
    int[] arr = { 12, 45, 9, 67, 455 };
    for (int i = 0; i < arr.length - 1; i++) {
        for (int j = 0; j < arr.length - 1 - i; j++) {
            if (arr[j] > arr[j + 1]) {
                int temp;
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
               }
           }
       }
    System.out.println("排序后:");
    for (int i = 0; i < arr.length; i++)
    System.out.print(arr[i] + "\t");
    }
}

若要实现降序排列,只需将arr[j] > arr[j + 1]中的”<” 改为”

    原文作者:阿德0307
    原文地址: https://blog.csdn.net/xmc281141947/article/details/70211242
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞