本帖最后由 真真姐 于 2012-10-21 14:30 编辑
两种排序的方法,乍一看是不是都差不多,实际上他们是不一样的,注意看第二个for循环
冒泡排序基本原理:大泡在上,小泡在下。也就是依次比较相邻的两个数 。
public static void paiXu1(int[] arr) { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j+ 1] = temp; } } } }
这一种排序,我们简单分析一下他执行的过程,外层的for循环中的变量也参与的数组的比对, 通俗一点就是,数组的每一个数要跟自己后面的所有的数进行比较! 当然也实现了相应的功能!
public static void paiXu2(int[] arr) { for (int x = 0; x < arr.length; x++) { for (int y = x + 1; y < arr.length; y++) { if (arr[x] > arr[y]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } }
}
}
|