依次比较相邻的两个元素,如果后一个元素小于前一个元素,则交换;
java实现:
/**
* @Descript:冒泡排序算法(相邻两两对比,小的值前置)
*
* @author LanJonah 2018年2月11日
* @param array
*/
public static void bubbleSort(int[] array){
int tmp ;
for (int i = array.length-1; i > 0;i--) {
for (int j = 0; j < i; j++) {
if(array[j+1]<array[j]){
tmp = array[j];
array[j]=array[j+1];
array[j+1]=tmp;
}
}
}
System.out.println("排序结果:"+Arrays.toString(array));
}
测试:
public static void main(String[] args) {
int[] array = {5,8,3,1,6,5};
bubbleSort(array);
}
测试结果:
排序结果:[1, 3, 5, 5, 6, 8]