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

来源:互联网 发布:创意数据统计图 编辑:程序博客网 时间:2024/06/15 21:35

一道很常见的面试题,看似很简单,但面试时经常要求手写, 在面试略有压力的环境中,我们能发挥好吗? 好记性不如烂笔头,下面的代码都经过验证可运行的,以下均为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 ; i++){         boolean flag = false;         for(int j =arrya.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(i = 0 ; i <array.length ; i++){        boolean flag = flase;        for(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]中的”<” 改为”

1 0
原创粉丝点击