>  기사  >  백엔드 개발  >  PHP 단순 정렬 ​​버블 정렬 및 선택 정렬

PHP 단순 정렬 ​​버블 정렬 및 선택 정렬

巴扎黑
巴扎黑원래의
2016-11-11 09:51:521635검색

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;  
}  
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.