Heim > Backend-Entwicklung > PHP-Tutorial > PHP einfache Sortierblasensortierung und Auswahlsortierung

PHP einfache Sortierblasensortierung und Auswahlsortierung

巴扎黑
Freigeben: 2016-11-11 09:51:52
Original
1710 Leute haben es durchsucht

PHP-Code

<?php  
  
$arr = array(100,2,4,5,6,1,7,3);  
var_dump($arr);  
$sort =  fn_sort($arr);  
var_dump($sort);  
  
$selectorsort = fn_selectsort($arr);  
var_dump($selectorsort);  
  
  
/** 
 * 冒泡排序  每相邻的两位数组进行比较,比较大的放后面 
 */  
//$arr = array(100,2,4,5,6,1,7,3);     
//array(2,4,5,6,1,7,3,100)  第一遍  
//array(2,4,5,1,6,3,7,100)  第二遍  
//array(2,4,5,1,3,6,7,100)  第三遍  
//array(2,4,1,3,5,6,7,100)  第四遍  
//...  
//array(1,2,3,4,5,6,7,100)  最后一遍  
  
function fn_sort($arr){  
    for($i = 0;$i < (count($arr)); $i++){  
        for($j = $i;$j < count($arr);$j++){  
            if($arr[$i] > $arr[$j]){  
                $temp = $arr[$i];  
                $arr[$i] = $arr[$j];  
                $arr[$j]  = $temp;  
            }  
        }  
          
    }  
    return $arr;  
}  
  
  
/** 
 * 选择排序排序selectsort  关键是找到最小数组的下标 
 */  
//$arr = array(100,2,4,5,6,1,7,3);     
//array(1,2,4,5,6,100,7,3)  第一遍  
//array(1,2,4,5,6,100,7,3)  第二遍  
//array(1,2,3,5,6,100,7,4)  第三遍  
//array(1,2,3,4,6,100,7,5)  第四遍  
//...  
//array(1,2,3,4,5,6,7,100)  最后一遍  
function fn_selectsort($arr){  
    for($i = 0; $i < count($arr); $i++){  
        $min = $i;  
        for($j = $i+1; $j < count($arr); $j++){  
            if($arr[$min] > $arr[$j]){  
                $min = $j;  //找到最小的那个数组下标  
            }  
        }  
          
        //如果已经找到了最小数组下标,就替换当前数组与找到的最小数组进行替换  
        if($min != $i){  
            $temp  = $arr[$i];  
            $arr[$i] = $arr[$min];  
            $arr[$min] = $temp;  
        }  
          
    }  
    return $arr;  
}  
?>
Nach dem Login kopieren


Verwandte Etiketten:
php
Erklärung dieser Website
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
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage