1、冒泡排序:
例子: 2 9 5 4 8 1 2 5 4 8 1 9
2 5 9 4 8 1 2 4 5 8 1 9
2 5 4 9 8 1 2 4 5 8 1 9
2 5 4 8 9 1 2 4 5 1 8 9
2 5 4 8 1 9
第一次遍历 第二次遍历 以此类推
程序:BubbleSort.java
public class BubbleSort{
public static void bubbleSort(int[] list){
Boolean needNextPass = true;
for(int k=1 ; k<arr.length&&needNextPass; k++){
needNextPass = flase;
for(int i = 0 ; i < arr.length-k; i++){
if(list[i]>list[i+1]){
Int temp = list[i];
List[i] = list[i+1];
List[i+1] = temp;
needNextPass = true;
}
}
}
}
Public static void main(String[] args){
int[] list = {1,2,3,4,5,7,9,6,-4};
bubbleSort(list);
For(int i = 0; i <list.length;i++)
System.out.println(list[i] + “ ”);
}
}
冒泡排序时间:
最佳时间:O(n)
最坏时间:O(n^2)