PHP中经典的四大排序算法
1.冒泡排序 思路分析:在要排序的一组数中,交换位置,让较大的数往下沉,一部分比基准元素小,使得这n个数也是排好顺序的,则前面的就不需要再次比较了,如此反复循环,外层控制轮数。
break;}}}return $arr;} 4.快速排序 思路分析:选择一个基准元素,54, 代码实现: function quickSort($arr) {//先判断是否需要继续进行$length = count($arr);if($length = 1) {return $arr;}//选择第一个元素作为基准$base_num = $arr[0];//遍历除了标尺外的所有元素,较小的往上冒。
则位置互换即可。
78,发现更小的,即,直到全部排好顺序,然后再用同样的方法递归地排序划分的两部分,通过一趟扫描,21,if($p != $i) {$tmp = $arr[$p];$arr[$p] = $arr[$i];$arr[$i] = $tmp;}}//返回最终结果return $arr;} 3.插入排序 思路分析:在要排序的一组数中,此时基准元素在其排好序后的正确位置,将待排序列分成两部分,$p = $j;}}//已经确定了当前的最小值的位置, 代码实现: function insertSort($arr) {$len=count($arr);for($i=1, $i$len; $i ) {$tmp = $arr[$i];//内层循环控制,内层控制比较次数 $len=count($arr);for($i=0; $i$len-1; $i ) {//先假设最小的值的位置$p = $i;for($j=$i 1; $j$len; $j ) {//$arr[$p] 是当前已知的最小值if($arr[$p] $arr[$j]) {//比较,现在要把第n个数插到前面的有序数中,比较并插入for($j=$i-1;$j=0;$j--) {if($tmp $arr[$j]) {//发现插入的元素要小, 代码实现: $arr=array(1,通常选择第一个元素或者最后一个元素,如果发现最小值的位置与当前假设的位置$i不同, array($base_num),36。
按照大小关系放入两个数组内//初始化两个数组$left_array = array(); //小于基准的$right_array = array(); //大于基准的for($i=1; $i$length; $i ) {if($base_num $arr[$i]) {//放入左边数组$left_array[] = $arr[$i];} else {//放入右边$right_array[] = $arr[$i];}}//再分别对左边和右边的数组进行相同的排序处理方式递归调用这个函数$left_array = quick_sort($left_array);$right_array = quick_sort($right_array);//合并return array_merge($left_array,保存到$p中,32,66,43,就将它们互换,由于是已经排序好是数组,从前往后对相邻的两个数依次进行比较和调整,假设前面的数已经是排好顺序的。
62,对当前还未排好的序列,更多请关注jquery中文网其它相关文章! , $right_array);} 以上就是PHP中经典的四大排序算法的详细内容,将后边的元素与前面的元素互换$arr[$j 1] = $arr[$j];$arr[$j] = $tmp;} else {//如果碰到不需要移动的元素,76,39); function bubbleSort($arr){$len=count($arr); //该层循环控制 需要冒泡的轮数 for($i=1;$i$len;$i ) { //该层循环用来控制每轮 冒出一个数 需要比较的次数for($k=0;$k$len-$i;$k ){if($arr[$k]$arr[$k 1]){$tmp=$arr[$k 1];$arr[$k 1]=$arr[$k];$arr[$k]=$tmp;}} } return $arr;} 2. 选择排序 代码实现: function selectSort($arr) {//双重循环完成,每当两相邻的数比较后发现它们的排序与排序要求相反时,记录下最小值的位置;并且在下次比较时采用已知的最小值进行比较。
一部分大于等于基准元素,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/shell/10746.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
Centos下PHP5升级为PHP7的方法
时间:2021-01-03
-
在php当中常量和变量的区
时间:2020-12-29
-
PHP中经典的四大排序算法
时间:2020-12-29
-
dw怎么运行php文件?
时间:2020-12-29
-
PHP PHP_EOL 换行符
时间:2020-12-29
-
Python3爬虫进阶:MongoDB存储
时间:2020-12-29
-
python如何运行一个python程
时间:2020-12-29
-
用PHP写一个计算器(附完
时间:2020-12-29
热门文章
-
解析shell字段分隔符的用法(图文)
时间:2020-12-22
-
Python3爬虫进阶:MongoDB存储(非关系型数
时间:2020-12-29
-
如何在Linux或者UNIX下调试Bash Shell脚本
时间:2020-12-22
-
关于php中匿名函数与回调函数的详解
时间:2020-12-29
-
php文档怎么打开
时间:2020-12-29
-
PHP PHP_EOL 换行符
时间:2020-12-29
-
浅谈Linux Shell的管道与重定向
时间:2020-12-23
-
如何检测Django是否安装成功
时间:2020-12-29
-
tp5如何引入公共部分header和footer文件
时间:2020-12-28
-
东北大学校园网登录登出shell脚本
时间:2020-12-24
