function bubbleSort($array)
{
$len = count($array);
if($len <= 0){
return false;
}
for($i = 0; $i < $len; $i++; ){
for ($j=$i + 1; $j < $len ; $j++) {
if($array[$i] < $array[$j]){
$temp = $array[$j];
$array[$j] = $array[$i];
$array[$i] = $temp;
}
}
}
return $array;
}
function quickSort($array){
$len = count($array);
if ($len <= 1) {
return $array;
}
$key = $array[0];
$leftArr = $rightArr = array();
for ($i = 1; $i < $len; $i++) {
if($key >= $array[$i]){
$leftArr[] = $array[$i];
}else{
$rightArr[] = $array[$i];
}
}
$leftArr = quickSort($leftArr);
$rightArr = quickSort($rightArr);
return array_merge($leftArr, $key, $rightArr);
}
function selectSort($array){
$len = count($array);
if($len <= 0){
return false;
}
$temp = 0;
for($i = 0; $i < $len - 1; $i++){
$minVal = $array[$i];
$minIndex=$i;
for($j = $i; $j < $len; $j++){
if($minVal > $array[$j]){
$minVal = $array[$j];
$minIndex = $j;
}
}
$temp = $array[$i];
$array[$i] = $array[$minIndex];
$array[$minIndex] = $temp;
}
return $array;
}
function insertSort($array){
$len = count($array);
for($i = 1; $i < $len; $i++){
$insertVal = $array[$i];
$inserIndex = $i - 1;
while($inserIndex >= 0 && $insertVal < $array[$inserIndex]){
$array[$inserIndex+1] = $array[$inserIndex];
$inserIndex--;
}
$array[$inserIndex+1] = $insertVal;
}
return $array;
}
function binarySearch($arr,$findVal,$leftIndex,$rightIndex){
if($rightIndex < $leftIndex){
echo "找不到该数";
return;
}
$middleIndex=round(($rightIndex+$leftIndex)/2);
if($findVal > $arr[$middleIndex]){
binarySearch($arr,$findVal,$middleIndex+1,$rightIndex);
}else if($findVal < $arr[$middleIndex]){
binarySearch($arr,$findVal,$leftIndex,$middleIndex-1);
}else{
echo "找到这个数。下标是$middleIndex";
}
}
$arr=array(1,2,3,4,5,6,7,8,9,10);
$res = binarySearch($arr,20,0,count($arr)-1);
function search($arr,$findVal){
$flag=false;
for($i=0;$i<count($arr);$i++){
if($findVal==$arr[$i]){
echo "找到了,下标为=$i";
$flag=true;
}
}
if(!$flag){
echo "查无此数";
}
}