正宗的冒泡排序

冒泡排序是两两比较相邻记录关键字,如果反序则交换。很奇怪,总有人写错,比如我寝室的zdc,曾几何时,他还很得意地和我说写出了冒泡~~

package my_algorithm;
public class MyBubbleSort {
 
 public static void swap(int[] a,int i, int j)
 {
 int tmp = a[i];
 a[i] = a[j];
 a[j] = tmp;
 }
 
 public void bubbleSort(int[] a)
 {
 for(int i = 1;i < a.length; i ++)
 for(int j = a.length-2;j >= i; j --)
 {
 if(a[j] > a[j+1])
 swap(a,j,j+1);
 }
 }
 
 
// a[]的第一位a[0]用来存储些其他额外信息
 public static void main(String[] args)
 {
 int[] a = new int[]{6,4,6,2,7,12,3};
 MyBubbleSort mbs = new MyBubbleSort();
 mbs.bubbleSort(a);
 for(int i = 0; i < a.length; i++)
 System.out.print(a[i] + " ");
 }
}

至此完毕~~

你可能感兴趣的:(正宗的冒泡排序)