先对冒泡排序做一个简单的解释,然后是代码的实现。
解释出资《java的数据结构和算法》,大家可以看看。
排序类:
package com.dxx.order; public class BubbleSort { private int arrs[]; public BubbleSort(int[] arrs) { super(); this.arrs = arrs; } public int[] sortArrs(){ int len = arrs.length; int temp; //进行len-1次循环,每次循环都筛选出未排序元素中最大的放在已排序的队列里 for(int i=0;i<len-1;i++){ //进行len-1-i次循环,找到未排序元素中最大的至于下标为len-i-1位置上; for(int j=0;j<len-1-i;j++){ if(arrs[j]>arrs[j+1]){ temp = arrs[j]; arrs[j] = arrs[j+1]; arrs[j+1] = temp; } } } return arrs; } public void printArrs(){ for(int i :arrs){ System.out.print(i + " "); } System.out.println(); } }
主程序类:
package com.dxx.order; public class MainTest { public static void main(String[] args) { int arrs[] = {1,3,2,5,4,8,6,7}; BubbleSort bubbleSort = new BubbleSort(arrs); bubbleSort.printArrs(); bubbleSort.sortArrs(); bubbleSort.printArrs(); } }