zoukankan      html  css  js  c++  java
  • php基础排序算法

    1、冒泡排序

     1 $arr = array(12,34,57,42,165.4,73,51);
     2 
     3 function bubbling_sort($array)
     4 {
     5     $cou = count($array);
     6     if(!is_array($array)){
     7         die;
     8     }
     9     for($i=0;$i<$cou-1;$i++){
    10         for($j=$i+1;$j<$cou;$j++){
    11             if($array[$i]>$array[$j]){
    12                 $tmp = $array[$j];
    13                 $array[$j] = $array[$i];
    14                 $array[$i] = $tmp;
    15             }
    16         }
    17     }
    18     return $array;
    19 }
    20 
    21 $ar = bubbling_sort($arr);
    22 var_dump($ar);die;

    2、快速排序

     1 function quick_sork($array)
     2 {
     3     if(count($array) <= 1) return $array;
     4     $key = $array[0];
     5     $left_arr = array();
     6     $right_arr = array();
     7     for($i=0;$i<count($array);$i++){
     8         if($array[$i]<$key){
     9             $left_arr[] = $array[$i];
    10         }elseif($array[$i]>$key){
    11             $right_arr[] = $array[$i];
    12         }
    13     }
    14     $left_arr = quick_sork($left_arr);
    15     $right_arr = quick_sork($right_arr);
    16     return array_merge($left_arr,array($key),$right_arr);
    17 }

    3、选择排序

     1 function select_sort($array){
     2     $temp = 0;
     3     for($i = 0;$i < count($array) - 1;$i++){
     4         $minVal = $array[$i]; //假设$i就是最小值
     5         $minValIndex = $i;
     6         for($j = $i+1;$j < count($array);$j++){
     7             if($minVal > $array[$j]){ //从小到大排列
     8                 $minVal = $array[$j]; //找最小值
     9                 $minValIndex = $j;
    10             }
    11         }
    12         $temp = $array[$i];
    13         $array[$i] = $array[$minValIndex];
    14         $array[$minValIndex] = $temp;
    15     }
    16     return $array;
    17 }
  • 相关阅读:
    悬浮按钮
    C语言学习笔记
    python3之环境搭建以及基础语法
    设计模式之单例模式
    浅谈vuex
    用位运算替代js中的常见操作
    浅析Symbol
    egg.js源码解析之render()
    js的事件循环机制和任务队列
    浅谈js异步
  • 原文地址:https://www.cnblogs.com/wawjandcsws/p/11076351.html
Copyright © 2011-2022 走看看