国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP 冒泡排序 二分查找 順序查找 二維數組排序算法函數的詳解

2024-05-04 23:10:59
字體:
來源:轉載
供稿:網友
數據結構很重要,算法+數據結構+文檔=程序
使用PHP描述冒泡排序算法,對象可以是一個數組

復制代碼 代碼如下:


//冒泡排序(數組排序)
function bubble_sort($array) {
$count = count($array);
if ($count <= 0)
return false;
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;
}
}
}
return $array; }


使用PHP描述順序查找和二分查找(也叫做折半查找)算法,順序查找必須考慮效率,對象可以是一個有序數組

復制代碼 代碼如下:


//二分查找(數組里查找某個元素)
function bin_sch($array, $low, $high, $k){
if ($low <= $high){
$mid = intval(($low+$high)/2);
if ($array[$mid] == $k){
return $mid;
}elseif ($k < $array[$mid]){
return bin_sch($array, $low, $mid-1, $k);
}else{
return bin_sch($array, $mid+1, $high, $k);
}
}
return -1;
}
//順序查找(數組里查找某個元素)
function seq_sch($array, $n, $k){
$array[$n] = $k;
for($i=0; $i<$n; $i++){
if($array[$i]==$k){
break;
}
}
if ($i<$n){
return $i;
}else{
return -1;
}
}


寫一個二維數組排序算法函數,能夠具有通用性,可以調用php內置函數

復制代碼 代碼如下:


//二維數組排序, $arr是數據,$keys是排序的健值,$order是排序規則,1是升序,0是降序
function array_sort($arr, $keys, $order=0) {
if (!is_array($arr)) {
return false;
}
$keysvalue = array();
foreach($arr as $key => $val) {
$keysvalue[$key] = $val[$keys];
}
if($order == 0){
asort($keysvalue);
}else {
arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalue as $key => $vals) {
$keysort[$key] = $key;
}
$new_array = array();
foreach($keysort as $key => $val) {
$new_array[$key] = $arr[$val];
}
return $new_array;
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岑溪市| 海盐县| 永春县| 葫芦岛市| 卓资县| 乌兰察布市| 明溪县| 威海市| 保靖县| 江门市| 上思县| 三门峡市| 乌兰县| 察隅县| 济源市| 堆龙德庆县| 封开县| 公安县| 湟源县| 宁国市| 教育| 嘉祥县| 历史| 白山市| 昭平县| 和静县| 通道| 巴彦县| 佛山市| 吴川市| 黄山市| 永丰县| 芦溪县| 炉霍县| 石渠县| 武邑县| 高州市| 长武县| 海安县| 渝北区| 托克托县|