php冒泡排序与快速排序实例详解
发布:smiling 来源: PHP粉丝网 添加日期:2021-06-28 10:50:55 浏览: 评论:0
这篇文章主要介绍了php冒泡排序与快速排序实现方法,结合实例形式较为详细的分析了phpphp排序算法的递归、遍历运算及流程控制的相关技巧,需要的朋友可以参考下,本文实例分析了php冒泡排序与快速排序算法,分享给大家供大家参考,具体如下:
- $a=array('3','8','1','4','11','7');
- print_r($a);
- $len = count($a);
- //从小到大
- for($i=1;$i<$len;$i++)
- {
- for($j=$len-1;$j>=$i;$j--)
- if($a[$j]<$a[$j-1])
- {//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了
- $x=$a[$j];
- $a[$j]=$a[$j-1];
- $a[$j-1]=$x;
- }
- }
- print_r($a);j
- //另一种方法 从小到大
- $b=array('4','3','8','9','2','1');
- $len=count($b);
- for($k=1;$k<$len;$k++)
- {
- for($j=$len-1,$i=0;$i<$len-$k;$i++,$j--)
- if($b[$j]<$b[$j-1]){
- //如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了
- $tmp=$b[$j];
- $b[$j]=$b[$j-1];
- $b[$j-1]=$tmp;
- }
- print_r($b);
- echo "
- ";
- }
- //下面的这个执行效率更高
- function maopao($arr)
- {
- $len = count($arr);
- for($i=1; $i<$len; $i++)//最多做n-1趟排序
- {
- $flag = false; //本趟排序开始前,交换标志应为假
- for($j=$len-1;$j>=$i;$j--)
- {
- if($arr[$j]<$arr[$j-1])//交换记录
- {//如果是从大到小的话,只要在这里的判断改成if($arr[$j]>$arr[$j-1])就可以了
- $x=$arr[$j];
- $arr[$j]=$arr[$j-1];
- $arr[$j-1]=$x;
- $flag = true;//发生了交换,故将交换标志置为真
- }
- }
- if(! $flag)//本趟排序未发生交换,提前终止算法
- return $arr;
- }
- }
- $shuz = array('2','4','1','8','5');
- $bb = maopao($shuz);
- print_r($bb);
- // 快速排序
- function kuaisu($arr){
- $len = count($arr);
- if($len <= 1){
- return $arr;
- }
- $key = $arr[0];
- $left_arr = array();
- $right_arr = array();
- for($i=1; $i<$len;$i++){
- if($arr[$i] <= $key){
- $left_arr[] = $arr[$i];
- }else{
- $right_arr[] = $arr[$i];
- }
- }
- $left_arr = kuaisu($left_arr);
- $right_arr = kuaisu($right_arr);
- return array_merge($left_arr, array($key), $right_arr);
- }
- $arr = array(23,98,54,2,9,62,34);
- print_r(kuaisu($arr));
希望本文所述对大家php程序设计有所帮助。
Tags: php冒泡排序 php快速排序
相关文章
- ·PHP实现冒泡排序几个实例(2014-07-10)
- ·PHP冒泡排序算法详解(2014-07-23)
- ·PHP中实现冒泡排序和快速排序算法示例(2015-04-04)
- ·php 矩阵转置 求素数 冒泡排序 选择排序例子(2015-04-08)
- ·PHP冒泡排序程序代码与源代码(2015-04-09)
- ·php实现冒泡排序的例子(2018-06-13)
- ·php冒泡排序、快速排序、快速查找、二维数组去重实例分享(2020-11-20)
- ·又一个PHP实现的冒泡排序算法分享(2021-04-07)
- ·又一个PHP实现的冒泡排序算法分享(2021-04-07)
- ·浅谈php冒泡排序(2021-05-05)
- ·php实现快速排序的三种方法分享(2020-10-27)
- ·PHP两种快速排序算法实例(2021-05-14)
- ·php简单实现快速排序的方法(2021-05-21)
- ·PHP递归实现快速排序的方法示例(2021-08-23)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)