冒泡排序和快速排序(部分函数排序)-创新互联
冒泡排序:
创新互联专注于武乡企业网站建设,成都响应式网站建设公司,商城开发。武乡网站建设公司,为武乡等地区提供建站服务。全流程按需规划网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务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);
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:冒泡排序和快速排序(部分函数排序)-创新互联
本文链接:http://lswzjz.com/article/dhichi.html