算法与数据结构_03_冒泡排序
冒泡排序
-
排序算法稳定: 一般情况下,称某个排序算法稳定,指的是当待排序序列中有相同的元素时,它们的相对位置在排序前后不会发生改变
-
冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完
成了排序。 -
代码:
public class Buubble {
// 1. 对数组a中得元素进行排序
public static void sort(Comparable[] a){
Comparable temp; //临时变量
for(int i=a.length-1;i>0;i--) { //a.length-1 表示数组中元素的最大索引值
for(int j=0;j<i;j++){
if(greater(a[j],a[j+1])){
swap(a,j,j+1);
}
}
}
}
//2.比较v元素 是否大于 w元素
public static boolean greater(Comparable v,Comparable w){
int result= v.compareTo(w); // 如果结果大于0,那么证明v大于w,如果结果小于等于0,证明v并不大于w
return result>0;
}
//3.数组元素索引i 和 索引j 处的值
public static void swap(Comparable[] a,int i,int j){
Comparable temp=0;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}