/** *冒泡排序: * 两个两个比较,一轮过后最大的排在了最后面 * n个数变为n-1个没排好的数 * 再进行一轮 * 第二大的排在了倒数第二个 * 以此类推 * 直到排到第一个为止 * * 弄两个循环,相邻两个数比较 */ public class BubbleSort { /** *冒泡排序主方法 * */ public static void bubbleSort(int[] resouceArr) { for(int i = 0 ; i <= resouceArr.length - 1 ; i++) { //数组下标是数组长度-1 , n-1个j,最后一个不能算所以还要-1 //一趟排序完成后,数组大小减小1个,因为后面的已经排好序了。 for(int j = 0 ; j <= resouceArr.length -1 - 1 - i ; j++) { if(resouceArr[j] > resouceArr[j+1]) { int temp = resouceArr[j]; resouceArr[j] = resouceArr[j+1]; resouceArr[j+1] = temp; } } } } public static void main(String[] args) { int[] bubbleArr = new int[]{1,3,6,2,7,9,5,8}; bubbleSort(bubbleArr); for(int i : bubbleArr) { System.out.println(i); } } }