<?php
set_time_limit(0);
//選擇排序
function selectsort($arr)
}//已經確定了當前的最小值的位置,儲存到$p中。如果發現最小值的位置與當前假設的位置$i不同,則位置互換即可。
if($p != $i)
}//返回最終結果
return $arr;
}class sort}}
return $arr;
} //快速排序
public function quicksort($arr)
//定義乙個基準數
//使用陣列中第乙個數作為基準數,這樣可以保證資料都參與對比
$base_num = $arr[0];
$behind=;//後
$before=;//前
for($i=1;$i<$len;$i++)
else
} $right=$this->quicksort($behind);
$left =$this->quicksort($before);
//拼接陣列
$res=array_merge($left,[$base_num],$right);
return $res;
} //插入
function insertsort($arr) else }}
return $arr;
}//斐波那契
function f($a)
return f($a-1) + f($a-2);
}//折半查詢
public function binsearch($arr,$start,$end,$search)
elseif($arr[$mid]>$search)else
// }else
// if($end>=$start)
elseif($arr[$mid]>$search)
else
}else
} //求由5個不重複的數字組成的任意不重複三位數,編寫乙個類實現,列舉出所有滿足條件的三位數。
//1.考慮5個數字含有0的情況
//2.考慮不含0的情況
//3.輸出所有滿足條件的三位數,並統計個數
//4.只允許使用count陣列
public function getnum($data)
for($j=0;$j<$len;$j++)
else}}
}return $num;
} //任意不重複五位數, 隨機取出10000個 存入到檔案中,每個檔案能夠儲存1000個數字,
//要求能夠快速地找到一數在不在我們的檔案中 在檔案中顯示位置
public function num()
public function search($str)
return $res; }}
//例項化物件
$obj=new sort();
//定義待排序陣列
$data=[1,5,23,44,8,0,3,66,43];
//氣泡排序
// $res=$obj->bubblesort($data);
//快速排序
// $res=$obj->quicksort($data);
//獲取不重複三位數
// $res=$obj->getnum(array(2,5,9,7,1));
// $res=array_count_values($res);
//折半查詢
// $res=$obj->binsearch([1,2,3,4],0,3,4);
echo '';
var_dump($res);
// print_r($res);
?>
php實現幾種排序
第一 冒牌排序 error reporting 0 arr array 0,5,1,9,3 將資料從小排序 function bubblesort arr print r arr echo 內層 bubblesort arr print r arr 第二 選擇排序 每一次遍歷找到最小的放到前邊去 e...
php實現幾種常見的排序演算法
交換排序 交換排序的基本思想是,比較兩個記錄鍵值的大小,如果這兩個記錄鍵值的大小出現逆序,則交換這兩個記錄,這樣將鍵值較小的記錄向序列前部移動,鍵值較大的記錄向序列後部移動。氣泡排序 bubble sort,台灣譯為 泡沫排序或氣泡排序 是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩...
php 幾種排序方式
1.氣泡排序 function m sort arr l count arr if l 0 return false for i 0 i l 1 i for j i 1 j l 1 j if arr i arr j temp arr i arr i arr j arr j temp return a...