冒泡排序
排序原理:
- 比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个 元素的位置。
- 对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值。
- 冒泡的意思可以认为是重的在下面,轻的浮上来。
1、建立一个Bubble(冒泡)类
package com.wu.sort;
public class Bubble {
public static void sort(Comparable[] a){
for (int i = a.length-1; i >0 ; i--) {
for (int j = 0; j <i ; j++) {
if (greater(a[j],a[j+1])){
exch(a,j,j+1);
}
}
}
}
private static boolean greater(Comparable v,Comparable w){
return v.compareTo(w)>0;
}
private static void exch(Comparable[] a,int i,int j){
Comparable t = a[i];
a[i]=a[j];
a[j]=t;
}
}
2、测试类:BubbleTest
package com.wu.test;
import com.wu.sort.Bubble;
import java.util.Arrays;
public class BubbleTest {
public static void main(String[] args) {
Integer[] a = {4, 5, 6, 3, 2, 1};
Bubble.sort(a);
System.out.println(Arrays.toString(a));
}
}
|