冒泡排序的PHP实现 Bubble Sort

2011-01-11 阅读 60

冒泡排序Bubble Sort的PHP实现。代码中函数说明:

  • out_arr,用于将数组输出成一个字符串,以便查看

  • bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的

  • bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的

  • range,产生一个1到20的数组

  • shuffle,打乱数组

        function out_arr($arr) {
      	return implode(', ', $arr).'
      ';
      }
    
      function bubblesort($arr) {
      	for ($i = 0; $i < count($arr) - 1; $i++ ) {
      		for($j = 0; $j < count($arr) - $i - 1; $j++ ) {
      			if( $arr[$j] > $arr[$j+1] ) {
      				$tmp = $arr[$j];
      				$arr[$j] = $arr[$j + 1];
      				$arr[$j + 1] = $tmp;
      			}
      		}
      		echo sprintf('%3d', $i).' : '.out_arr($arr);
      	}
      }
    
    
      function bubblesort2($array) {
      	$count = count($array);
      	for($i=0; $i<$count; $i++) {
      		for($j=$count-1; $j>$i; $j--) {
      			if ($array[$j] < $array[$j-1]) {
      				$tmp = $array[$j];
      				$array[$j] = $array[$j-1];
      				$array[$j-1] = $tmp;
      			}
      		}
      		echo sprintf('%3d', $i).' : '.out_arr($array);
      	}
      	return $array;
      }
      echo '<pre>';
      $arr = range(1, 20);
      shuffle($arr);
      echo 'ORG : '.out_arr($arr);
      bubblesort2($arr);
      echo '</pre>';
      ```
    

冒泡 排序 php bubble sort range shuffle

更新于 2023年03月28日