冒泡排序是通过相邻的数据元素进行交换,逐步将待排序的序列变为有序序列,冒泡排序为不稳定排序
我的习惯,先上代码
冒泡排序
public static void bubbleSort(int[] array){
/*
* 外层循环控制趟数,每趟比较可对一个数据元素排序,
* 所以只需要比较array.length-1趟
*/
for(int i = 0; i<array.length - 1; i++){
/*
* 内层循环进行一趟的排序,从数组首元素依次进行比较,因为已经有i个元素为有序,
* 所以只需比较array.length-i之前的元素,因为第j个元素要和第j+1个元素比较
* 所以j<array.length-1,因此为array.length-i-1
*/
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;
}
}
}
}
在程序中调用排序方法:
public static void main(String[] args){
int[] array = new int[] {3,5,7,1,2,9,13};
bubbleSort(array);
for(int i = 0; i < array.length; i++){
System.out.print(array[i]+",");
}
}
输出结果为
1,2,3,5,7,9,13,
冒泡排序是最基础也是最简单的一种排序方式,图就不上了,如果有不懂的地方,自己写几个数试一下就知道了