Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Blasensortierung, binäre Suche, sequentielle Suche, detaillierte Erläuterung der Funktion des zweidimensionalen Array-Sortieralgorithmus

PHP-Blasensortierung, binäre Suche, sequentielle Suche, detaillierte Erläuterung der Funktion des zweidimensionalen Array-Sortieralgorithmus

高洛峰
高洛峰Original
2016-12-22 11:03:461546Durchsuche

Datenstruktur ist sehr wichtig, Algorithmus + Datenstruktur + Dokument = Programm
Verwenden Sie PHP, um den Blasensortierungsalgorithmus zu beschreiben. Das Objekt kann ein Array sein.

//冒泡排序(数组排序)
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; }

Verwenden Sie PHP, um die sequentielle Suche zu beschreiben und binäre Suche (auch Halbsuche genannt) Algorithmus, sequentielle Suche muss Effizienz berücksichtigen, das Objekt kann ein geordnetes Array sein

//二分查找(数组里查找某个元素)
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;
}
}

Sie können eine zweidimensionale Array-Sortieralgorithmusfunktion schreiben, die universell sein kann Rufen Sie die integrierte PHP-Funktion auf

//二维数组排序, $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;
}

Ausführlichere Erläuterungen zur PHP-Blasensortierung, binäre Suche, Sequenzsuche, zweidimensionale Array-Sortieralgorithmusfunktion finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn