冒泡法排序的最好情況是數據元素集合已經全部排好序,這是循環n-1次每次沒有交換動作而退出,因此,冒泡排序的最好情況的時間復雜是是O(n);冒泡排序算法的最壞情況是數據元素集合全部逆序存放,這時循環n-1次 比較次數你n(n-1)/2 和交換移動次數 3n(n-1)/2,因此冒泡排序算法最壞情況時間復雜度為O(n2).
冒泡排序算法的空間復雜度是O(1);
1 function BubbleSort(&$a,$n){ 2 $flag=1; 3 $temp=0; 4 for ($i=1;$i<$n&&$flag==1;$i++){ 5 $flag=0; 6 for ($j=0;$j<$n-$i;$j++){ 7 if($a[$j]<$a[$j+1]){ 8 $flag=1; 9 $temp=$a[$j]; 10 $a[$j]=$a[$j+1]; 11 $a[$j+1]=$temp; 12 } 13 } 14 } 15 16 } 17 $arr=[1,3,5,6,72,9]; 18 $len=count($arr); 19 BubbleSort($arr,$len); 20 var_dump($arr);die;
,