//氣泡排序
function
bubblesort
($array)
for($i = 0; $i
< $len; $i++; )}}
return
$array;
}
//快速排序
function
quicksort
($array)
$key = $array[0];
$leftarr = $rightarr = array();
for ($i = 1; $i
< $len; $i++) else
}$leftarr = quicksort($leftarr);
$rightarr = quicksort($rightarr);
return array_merge($leftarr, $key, $rightarr);
}
//選擇排序
function
selectsort
($array)
$temp = 0;
for($i = 0; $i
< $len - 1; $i++)
}//最後交換
$temp = $array[$i];
$array[$i] = $array[$minindex];
$array[$minindex] = $temp;
}return
$array;
}
//插入排序
function
insertsort
($array)
//插入(這時就給$inserindex找到適當的位置)
$array[$inserindex+1] = $insertval;
}return
$array;
}
//二分查詢函式,它有乙個前提,查詢的陣列必須是有序的
function
binarysearch
($arr,$findval,$leftindex,$rightindex)
//首先找到中間這個數 round是出於如果出現小數,四捨五入
$middleindex=round(($rightindex+$leftindex)/2);
//如果大於則向後面找
if($findval > $arr[$middleindex])else
if($findval
< $arr[$middleindex])else
}//呼叫二分查詢
$arr=array(1,2,3,4,5,6,7,8,9,10);//注意,一定要是有序的
$res = binarysearch($arr,20,0,count($arr)-1);
//這是按順序查詢
function
search
($arr,$findval)
}if(!$flag)
}
php陣列排序演算法 查詢演算法
陣列排序演算法氣泡排序 從陣列第乙個元素開始,從左到右,相鄰的2個元素比較大小 如果左邊的比右邊的大,則交換位置。邏輯描述 1.需要進行n 1趟比較過程 2.每一趟的比較都比前一趟少比一次,第一趟需要比較n 1次 3.每趟比較,從陣列的開頭開始,跟緊鄰元素比較,並進行交換 需要的時候 示例 arr2...
PHP 排序和查詢演算法
知乎 氣泡排序 bubble sort 的原理是什麼?潘屹峰 氣泡排序的原理可以顧名思義 把每個資料看成乙個氣泡,按初始順序自底向上依次對兩兩氣泡進行比較,對上重下輕的氣泡交換順序 這裡用氣泡輕 重表示資料大 小 保證輕的氣泡總能浮在重的氣泡上面,直到最輕的氣泡浮到最上面 保持最後浮出的氣泡不變,對...
排序演算法 查詢演算法
排序演算法 交換排序 選擇排序 歸併排序 基數排序 查詢演算法 動態查詢 雜湊表查詢 簡介 n個資料,從1到n乙個乙個插入進行排序。空間複雜度 o 1 時間複雜度 o n2 演算法穩定性 穩定演算法 簡介 取幾個增量,如5,2,1 最後乙個增量必須為1 然後從左到右5個5個的排序 如 1到5資料排序...