|
以下是代码片段:
set_time_limit(0); //冒泡 function bubble($arr){ for($i = 0; $i < count($arr); $i++){ for($j = count($arr)-1; $j > $i; $j--){ if($arr[$j] < $arr[$j-1]){ $temp = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $temp; } } } return $arr; } //选择 function select($arr){ for ($i = 0; $i < count($arr); $i++) { $lowIndex = $i; for ($j = count($arr) - 1; $j > $i; $j--) { if ($arr[$j] < $arr[$lowIndex]) { $lowIndex = $j; } } $temp = $arr[$lowIndex]; $arr[$lowIndex] = $arr[$j]; $arr[$j] = $temp; } return $arr; } //插入 function insert($arr){ for($i = 1;$i < count($arr); $i++){ for($j = $i; ($j>0) && ($arr[$j] < $arr[$j-1]); $j--){ $temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } return $arr; } $arr = range(1,1000); shuffle($arr); //benchmark require_once("Benchmark/Timer.php"); $timer = new Benchmark_Timer(); $timer -> start(); bubble($arr); $timer -> setMarker('bubble'); select($arr); $timer -> setMarker('select'); insert($arr); $timer -> setMarker('insert'); sort($arr); $timer -> setMarker('php'); $timer -> display(); ?> |