<?php
//定義乙個陣列
$arr
(1,11,43,54,62,21,66,32,78,36,76,39);
氣泡排序
function
bubblesort(
$arr
)
}
}
return
$arr
;
}
選擇排序
function
selectsort(
$arr
)
}
//已經確定了當前的最小值的位置,儲存到$p中。如果發現最小值的位置與當前假設的位置$i不同,則位置互換即可。
if
(
$p
!=
$i
)
}
//返回最終結果
return
$arr
;
}
插入排序
function
insertsort(
$arr
)
else
}
}
return
$arr
;
}
快速排序
function
quicksort(
$arr
)
//選擇第乙個元素作為基準
$base_num
=
$arr
[0];
//遍歷除了標尺外的所有元素,按照大小關係放入兩個陣列內
//初始化兩個陣列
$left_array
=
array
();
//小於基準的
$right_array
=
array
();
//大於基準的
for
(
$i
=1;
$i
<
$length
;
$i
++)
else
}
//再分別對左邊和右邊的陣列進行相同的排序處理方式遞迴呼叫這個函式
$left_array
= quick_sort(
$left_array
);
$right_array
= quick_sort(
$right_array
);
//合併
return
array_merge
(
$left_array
,
array
(
$base_num
),
$right_array
);
}
二分查詢法
function a($arr, $target)
//查詢的數小,往左繼續查詢
if($arr[$mid] > $target)
//查詢的數大,往右繼續查詢
if($arr[$mid] < $target) }
}echo a($arr, 11);
php 排序,二分查詢
arr array 4,3,0,9,2,98,1,6,34 arr quicksort arr binnerysearch arr,90,0,count arr 1 function bubblesort arr for i 0 i count i return arr function quick...
二分查詢和排序
二分查詢,主要是針對排序問題進行查詢 len sizeof a sizeof a 0 我們先設定 int left 0 int right len 1 int mid left right 2 如果k大於mid,那麼 left mid 1 小於 right mid 1 include int sea...
php 氣泡排序 快速排序 二分查詢
氣泡排序 class getnum return arr 快速排序 一般以第乙個元素為準 大於這個元素放左邊 小於這個元素放右邊 class quicknum b arr 0 for i 1 igetquicknum arr left arr right this getquicknum arr r...