1.1. 基本描述
元素个数为n的数组,需要按照由小到大的顺序进行元素排序。
1.2. 算法分析
冒泡排序的基本思想:从第n个元素开始,依次与第n-1、n-2……1个元素进行大小比较,通过比较与交换,使得第k趟排序后,数组的前k个数组达到有序。容易得到,时间复杂度为O(n^2),是稳定排序。
1.3. 代码实现
public class BubbleSort {
public static void main(String[] args) {
int[] unSortedArr = new int[]{10,9,8,7,6,5,4,3,2,1};
for (int i = unSortedArr.length - 1; i > 0; i--) {
for (int j = i - 1; j >= 0; j--) {
if (unSortedArr[i] < unSortedArr[j]) { // 这里采用异或交互数字的方法,好处是:1、少一个额外的临时变量;2、不用担心溢出问题
unSortedArr[i] = unSortedArr[i] ^ unSortedArr[j];
unSortedArr[j] = unSortedArr[i] ^ unSortedArr[j];
unSortedArr[i] = unSortedArr[i] ^ unSortedArr[j];
}
}
}
StringBuffer stringBuffer = new StringBuffer();
for (int k = 0; k < unSortedArr.length; k++) {
stringBuffer.append(unSortedArr[k]).append(" ");
}
System.out.println(stringBuffer.toString());
}
}
本文介绍了一种简单的排序算法——冒泡排序。详细解释了冒泡排序的基本思想,并提供了具体的Java代码实现,展示了如何通过异或操作来交换数组中的元素,最终实现数组的升序排列。
18万+

被折叠的 条评论
为什么被折叠?



