zoukankan      html  css  js  c++  java
  • php实现选择排序

    1,定义:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

    参考代码:

    <?php
        //选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
        
        function selectSort(&$arr){
            //定义进行交换的变量
            $temp=0;
            for($i=0;$i<count($arr)-1;$i++){
                //假设$i就是最小值
                $valmin=$arr[$i];
                //记录最小值的下标
                $minkey=$i;
                for($j=$i+1;$j<count($arr);$j++){
                    //最小值大于后面的数就进行交换    
                    if($valmin>$arr[$j]){
                        $valmin=$arr[$j];
                        $minkey=$j;
                    }
                }
                //进行交换
                $temp=$arr[$i];
                $arr[$i]=$arr[$minkey];
                $arr[$minkey]=$temp;
            }
        } 
            
        $arr=array(7,5,0,4,-1);
        selectSort($arr);
        print_r($arr);
    
    ?>
  • 相关阅读:
    Go语言之依赖管理
    Go之NSQ
    Redis相关
    Go语言操作mongoDB
    Go语言操作Redis
    mysql-5.7.22-winx64.zip 安装
    LL(1)文法系列(二)预测分析表
    LL(1)文法系列(三)预测分析程序
    LL(1)文法系列(一)first集和follow集
    算符优先系列之(二)算符优先关系表
  • 原文地址:https://www.cnblogs.com/pwm5712/p/2969468.html
Copyright © 2011-2022 走看看