zoukankan      html  css  js  c++  java
  • [PHP] 算法-选择排序的PHP实现

    选择排序:
    1.数组分成前后两个部分,前部分是排序的,后部分是无序的
    2.两层循环,先假定当前循环的第一个索引为最小值,内部循环找比该索引还小的值,找到交换
    
    for i;i<len;i++
        minIndex=i
        for j=i+1;j<len;j++
            if arr[j]<arr[minIndex]
                minIndex=j
        t=arr[i]
        arr[i]=arr[minIndex]
        arr[minIndex]=arr[i]
    <?php
    function selectSort(&$arr){
            $len=count($arr);
            for($i=0;$i<$len;$i++){
                    $minIndex=$i;//假定当前i是最小值
                    for($j=$i+1;$j<$len;$j++){
                            if($arr[$j]<$arr[$minIndex]){
                                    $minIndex=$j;
                                    break;
                            }   
                    }   
                    $t=$arr[$i];
                    $arr[$i]=$arr[$minIndex];
                    $arr[$minIndex]=$t;
            }   
            return $arr;
    }
    
    $arr=array(2,3,1,4,9,5);
    selectSort($arr);
    var_dump($arr);

  • 相关阅读:
    蚂蚁
    N的阶乘
    最小公倍数LCM
    最大公约数GCD
    Truck History(卡车历史)
    亲戚
    [SDOI2011]打地鼠
    连续自然数和
    P4250 [SCOI2015]小凸想跑步
    P4048 【[JSOI2010]冷冻波】
  • 原文地址:https://www.cnblogs.com/taoshihan/p/9879749.html
Copyright © 2011-2022 走看看