首页 > 代码库 > 冒泡排序(bubble sort) ---转于 xingoo 博客

冒泡排序(bubble sort) ---转于 xingoo 博客

bubble /‘b?b(?)l/  n 气泡 泡沫  v 使冒泡    swap /sw?p/ n  交换 交换之物  v 与....交换   交易  交换

冒泡排序两种思想(主要用于数组):分两步

1)查询最小值(查询第一个位置的最小值)   

for(int j=0; j<a.length; j++){

  if(a[0]>a[i]){

    swap(0, i);

  }

}

public void swap(int i, int j){

  int tmp = a[i];

  int min = a[j];

  int a[j] = tmp;

}

2)for循环(依次遍历所有位置的最小值

//外for循环查询所有位置(i的最后一次遍历是没有必要的 因为i==a.length-1时候,j==a.length-1 不循环所以 i<a.length-1)

for(int i=0; i<a.length-1; i++){

  //内for循环是查询最小值

  for(int j=i+1; j<a.length; j++){

    if(a[i]<a[j]){

      swap(i,j)

    }

  }

}

 

for(int i=0;i<length-1;i++){
  //内循环是将最大值放在最后面
  for(int j=0;j<length-i-1;j++){   if(a[j]>a[j+1]) swap(j,j+1); }
}

样例 转自其他博客

class Array{

  int [] a;

  int length;

  public Array(int max){

    int[] a = new int[max];

    length=0;

  } 

  public void insert(int value){

   a[length] = value; 

  }

  public String display(int[] a){

    for(int i=0; i<length; i++){

      System.out.println("a["+i+"]  ="+i);

    }

  }

 

 

}

 

冒泡排序(bubble sort) ---转于 xingoo 博客