常用排序算法
经常撕逼的一个问题,一个程序员联冒泡排序都写不出来....说实话,不经常用真有可能写不出来,这两个for循环很容易弄错,只能说明的就是实现原理。 注:看结果更好理解程序。。。 冒泡排序 package sort; /** * 冒泡排序 * @author mercy * 前一个和后一个比较找出最大值,再依次找找除了最大值的下一个最大值。 */ public class BubbleSort { public static void sort(int arr[]) { for (int i = 1; i < arr.length; i++){ for (int j = 0; j < arr.length-i; j++) { //比的次数随着i的值越大次数越少 if (arr[j] > arr[j + 1]) //值大的往后放,否则值小的往后放 int temp; temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; } } for (int m = 0; m < arr.length; m++) { System.out.print(arr[m] + " "); } System.out.println(" "); } System.out.println("数组长度为:" + arr.length); } public