温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

冒泡排序和快速排序(部分函数排序)

发布时间:2020-09-05 00:56:29 来源:网络 阅读:279 作者:NianShuZhi 栏目:开发技术

冒泡排序:

     1. 算法慢,不需要额外空间

     2. 示例代码:

$arr = [1,3,5,4,2,6,8,5,4,9,0]; function bubbleSort($arr){     //数组长度 -- 决定循环的次数(长度-1次循环)     $arrLength = count($arr);     for ($i=0; $i < $arrLength-1 ; $i++){         for($j=1; $j< $arrLength-1; $j++){             if ($arr[$j]>$arr[$j+1]) {                 $tmp = $arr[$j];                 $arr[$j] = $arr[$j+1];                 $arr[$j+1] = $tmp;             }         }     }     return $arr; } print_r(bubbleSort($arr));


快速排序:

     1. 最高效,需要很大的空间

     2. 示例代码:

$arr = [1,3,5]; function quickSort($arr){     $arrLength = count($arr);     if ($arrLength<=1) {         return $arr;     }     $baseVal = $arr[0];     $leftArr = [];     $rightArr = [];           //因为第一个已被取出,所以从第二个开始 -- i=1     for($i=1; $i<$arrLength; $i++){         if ($baseVal > $arr[$i]) {             $leftArr[] = $arr[$i];         }         else{             $rightArr[] = $arr[$i];         }     }     $leftArr = quickSort($leftArr);     $rightArr = quickSort($rightArr);     return array_merge($leftArr,array($baseVal),$rightArr); } print_r(quickSort($arr));


函数排序:

     sort();

          1. 对数组进行排序;函数结束时,数组单元将被小到大排序,大写在前

          2. 示例代码:

$fruits = ["lemon", "orange", "Lemon", "banana", "apple"]; sort ($fruits); $arr = []; foreach ($fruits as $key => $value) {     $arr[$key] = $value; } print_r($arr);


     ksort();

          1. 主要用于关联数组;对数组按照键名排序,保留键名到数据的关联

          2. 示例代码:    

$fruits  = [            "d" => "lemon",            "a" => "orange",            "b" => "banana",            "c" => "apple",         ]; ksort ($fruits); $arr = []; foreach ($fruits as $key => $val) {     $arr[$key] = $val; } print_r($arr);


     usort();

          1. 使用用户自定义的比较函数对数组中的值进行排序,删除原有键名

          2. 示例代码:

function  mySort($a, $b) {     if($a == $b){         return  0;     }     //根据返回值1或是-1进行排序;     //-1:1为小到大; 1:-1为大到小     return ($a < $b)? 1 : -1; } $a = [3, 2, 5, 6, 1]; usort($a, "mySort"); $arr = []; foreach ($a as $key => $value){     $arr[$key] = $value; } print_r($arr);


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI