冒泡排序

来源:互联网 发布:java学生管理系统 编辑:程序博客网 时间:2024/06/06 08:31

思想比较简单

一直循环,每次把最小的元素冒泡到最后。(最差情况:循环n-1次,每次两两交换n次)

<span style="white-space:pre"></span>private static void bubbleSort2(int a[]) {a = getAry(a);boolean flag = true;Arrays.sort(a);System.out.println(convertAry(a));while (flag) {flag = false;for (int j = 0; j < a.length - 1; j++) {if (a[j] > a[j + 1]) {flag = true;a[j] = a[j] ^ a[j + 1];// 按位异或a[j + 1] = a[j] ^ a[j + 1];a[j] = a[j] ^ a[j + 1];}}System.out.println("第" + "" + "次: " + convertAry(a));}}
sort before[12, 4, 5, 4, 13, 10, 10, 11, 8, 10]第1次: [12, 5, 4, 13, 10, 10, 11, 8, 10, 4]第2次: [12, 5, 13, 10, 10, 11, 8, 10, 4, 4]第3次: [12, 13, 10, 10, 11, 8, 10, 5, 4, 4]第4次: [13, 12, 10, 11, 10, 10, 8, 5, 4, 4]第5次: [13, 12, 11, 10, 10, 10, 8, 5, 4, 4]第6次: [13, 12, 11, 10, 10, 10, 8, 5, 4, 4]第7次: [13, 12, 11, 10, 10, 10, 8, 5, 4, 4]第8次: [13, 12, 11, 10, 10, 10, 8, 5, 4, 4]第9次: [13, 12, 11, 10, 10, 10, 8, 5, 4, 4]


0 0
原创粉丝点击