/**
* 冒泡法排序
* @author DELL
*
*/
public class BubbleSort {
public static void main(String[] args) {
int[] array = new int[]{9,4,5,6,8,3,2,7,10,1};
System.out.println("排序前---------------");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"#");
}
System.out.println();
bubbleSort(array);
System.out.println("排序后---------------");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"#");
}
}
public static void bubbleSort(int[] a){
for(int out=a.length-1;out>0;out--){
for(int in=0;in<out;in++){
if(a[in]>a[in+1]){
int tmp = a[in+1];
a[in+1] = a[in];
a[in] = tmp;
}
}
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"~");
}
System.out.println();
}
}
}
执行结果:
排序前---------------
9#4#5#6#8#3#2#7#10#1#
4~5~6~8~3~2~7~9~1~10~
4~5~6~3~2~7~8~1~9~10~
4~5~3~2~6~7~1~8~9~10~
4~3~2~5~6~1~7~8~9~10~
3~2~4~5~1~6~7~8~9~10~
2~3~4~1~5~6~7~8~9~10~
2~3~1~4~5~6~7~8~9~10~
2~1~3~4~5~6~7~8~9~10~
1~2~3~4~5~6~7~8~9~10~
排序后---------------
1#2#3#4#5#6#7#8#9#10#
冒泡排序:
(从小到大排序)存在10个不同大小的气泡,由底至上地把较少的气泡逐步地向上升,这样经过遍历一次后,最小的气泡就会被上升到顶(下标为0),然后再从底至上地这样升,循环直至十个气泡大小有序。
在
冒泡排序中,
最重要的思想是两两比较,将两者较少的升上去
冒泡排序最坏情况的时间复杂度是O(n²)