• 算法学习--希尔和快速排序


    <?php
        //希尔派讯
        function scheer(array $array){
            $total=$grp=count($array);
            
            while ($grp>1){
                $grp=ceil($grp/2);
                do{
                    $p=0;
                    for($j=0;$j+$grp<=$total-1;$j++){
                        if ($array[$j]>$array[$j+$grp]){
                            $tmp=$array[$j];
                            $array[$j]=$array[$j+$grp];
                            $array[$j+$grp]=$tmp;
                            $p=1;
                        }
                    }
                }while ($p!=0);
            }
            var_dump($array);
        }
        
    
        //快速排序
        function quicksort($array,$frist,$last){
            
            if($frist<$last){
                $i=$frist;
                $j=$last+1;
                $num=$array[$frist];
                do{
                    do {
                        $i++;
                    }while (!($num<=$array[$i]||$i==$last));
                    do {
                        $j--;
                    }while (!($num>=$array[$j]||$j==$frist));
                    if($i<$j){
                        $tmp=$array[$i];
                        $array[$i]=$array[$j];
                        $array[$j]=$tmp;
                    }else{
                        $tmp=$array[$frist];
                        $array[$frist]=$array[$j];
                        $array[$j]=$tmp;
                        break;
                    }
                }while (1);
                quicksort($array, $frist, $j-1);  //前半部分
                quicksort($array, $j+1, $last);    //后半部分
            }else{
                var_dump($array);
            }
        }
        
        
        
        
        //函数运用
        
        $array=array(58,56,49,78,26,46,39,42,16,84,96);
        //scheer($array);
        quicksort($array, 0, (count($array)-1));
    ?>
  • 相关阅读:
    计算欧拉函数值
    矩阵快速幂
    约瑟夫环数学公式
    整型输出输入优化
    计算机设计第三章
    计算机设计第二章
    计算机设计
    阿里巴巴秋招2017客户端附加题
    程序设计基本概念
    c++面试题
  • 原文地址:https://www.cnblogs.com/xiashuo-he/p/3554501.html
Copyright © 2020-2023  润新知