首页 > 代码库 > 冒泡排序(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 博客