Maison  >  Article  >  développement back-end  >  php简单排序之冒泡排序与选择排序

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

WBOY
WBOYoriginal
2016-08-08 09:23:56917parcourir
<?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  $arr[$j]){
                $min = $j;  //找到最小的那个数组下标
            }
        }
        
        //如果已经找到了最小数组下标,就替换当前数组与找到的最小数组进行替换
        if($min != $i){
            $temp  = $arr[$i];
            $arr[$i] = $arr[$min];
            $arr[$min] = $temp;
        }
        
    }
    return $arr;
}
?>


by:19素材

以上就介绍了php简单排序之冒泡排序与选择排序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:今天去聚美的几个面试题Article suivant:php 装饰模式