冒泡排序原理就是假设一个数组有n位数待排序,先比较数组中的前两个数,若不符合规则则进行交换,然后在比较第二和第三个数,进行交换,以此类推,第一轮比较完得出的是此数组中的最大或者是最小值存放在数组中的最后一位。然后第二轮还是重复第一轮的动作,最后得出的是未排序数组中的最大或者是最小值,存放在数组的倒数第二位中。之后依次进行重复工作。最后一轮是前两个数进行比较,得出其中较大的或者是较小的存放在第二位。整个数组就排序完成。使用java实现的代码如下:
public static void BubbleSort(int[] array){ for(int i =0; i<array.length-1;i++){ for(int j=0;j<array.length - i-1; j++){ if(array[j] > array[j+1]){ int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } }
冒泡排序的时间复杂度为O(n^2),空间复杂度为:O(1)