php面试算法题—快速算法、冒泡算法讲解
来源:互联网 发布:大数据的缺陷 编辑:程序博客网 时间:2024/05/18 03:27
1、冒泡算法<?phpfunction 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);//$i=1 $len=5?>2、快速算法<?php// 快速排序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));?>
0 0
- php面试算法题—快速算法、冒泡算法讲解
- 冒泡算法讲解
- 冒泡算法讲解
- php排序算法(冒泡排序,快速排序)
- php冒泡排序与快速排序算法
- php中的冒泡和快速排序算法
- php 冒泡、选择、插入、快速排序算法
- 面试基础 -- 冒泡算法
- php冒泡排序算法和快速排序算法
- 冒泡算法 快速排列
- 冒泡、快速排序算法
- PHP冒泡算法
- php冒泡排序算法
- PHP冒泡排序算法
- php冒泡排序算法
- PHP 冒泡算法示例
- php冒泡排序算法
- php 冒泡算法详解
- ORACLE的UTL_FILE包
- 博饼过程中的概率
- Hibernate 一级缓存和二级缓存
- Win7简单命令让PC变身无线热点
- vi编辑器的使用
- php面试算法题—快速算法、冒泡算法讲解
- shell基本知识
- 全国人大法工委:考虑推进个人信息保护立法
- mingw
- HTC One X S720e 一键刷入boot.img教程
- delphi7 不能运行提示'BORdbk70.dll'
- 【OpenCV】SIFT原理与源码分析:DoG尺度空间构造
- 使用DOM解析XML文件
- Facebook大数据:兴奋与恐惧同行?