Java排序之冒泡排序
冒泡排序
一、基本概念
重复地走访过要排序的数列,依次比较相邻的两个数,将小数放在前面,
大数放在后面,直到所有的数都是有序为止。
每一趟比较都是有收益的,能够得到当前趟的最大数。
二、算法特点
是否稳定:true
平均时间复杂度: O(n^2)
最差时间复杂度: O(n^2)
最优时间复杂度: O(n^2)
最差空间复杂度: O(n)
需要辅助空间: O(1)
三、相关代码
public class Test { public static void main(String[] args) { int[] a = { 2, 5, 3, 9, 6, 1, 4, 8, 7 }; bubble_sort(a);
System.out.println("================="); printArray(a); } public static void bubble_sort(int[] a) { for (int i = 0; i < a.length - 1; i++) { for (int j = 0; j < a.length - 1 - i; j++) { if (a[j] > a[j + 1]) { int tmp = a[j]; a[j] = a[j + 1]; a[j + 1] = tmp; } }
printArray(a); } } public static void printArray(int[] a) { for (int i : a) { System.out.print(i + " "); }
System.out.println(); } }
运行结果:



浙公网安备 33010602011771号