·算法原理:
过程:①数组有n个元素,数组的第一位为i,则比较i和i+1大小,大的往右下沉,小的往左上浮,然后比较i+1与i+2大小,重复过程一直到数组最后一位;
②重复第一步,直到沉到底部的节点的前一个节点,重复n-1次。
·算法实现:
public class BubbleSort {
int [ ] list=new int [ ] {4,3,5,7,2}
int temp =0
for(int i = 0;i<array.length-1;i++){
for(int j = 0;j<i;j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
·时间复杂度:
因为执行的总次数为 (n-1)+(n-2)+…+1=n*(n-1)/2,执行次数为n^2 量级,所以时间复杂度为O(n^2)