php简单排序之冒泡排序与选择排序

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

Php代码  

<?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
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!