php冒泡排序和快速排序笔记
2012-07-09 09:51
330 查看
<?php $arr = array(12,1,5,88,35,0,18,100,50,21,28,7,9,9.5); //交换两值 function swap(&$m, &$n){ $temp = $m; $m = $n; $n = $temp; /* 如数组中有小数时,以下方法会省略小数点后面的数 $m = $m ^ $n; $n = $m ^ $n; $m = $m ^ $n; */ } //冒泡排序 function bubbleSort($arr){ if(!is_array($arr)) return $arr; $count = count($arr); for($i=1; $i<$count; $i++){ for($j=0; $j<$count-$i;$j++){ if($arr[$j] > $arr[$j+1]){ /* $temp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; */ /* $arr[$j] = $arr[$j] + $arr[$j+1]; $arr[$j+1] = $arr[$j] - $arr[$j+1]; $arr[$j] = $arr[$j] - $arr[$j+1]; */ /* $arr[$j] = $arr[$j] ^ $arr[$j+1]; $arr[$j+1] = $arr[$j] ^ $arr[$j+1]; $arr[$j] = $arr[$j] ^ $arr[$j+1]; */ swap($arr[$j], $arr[$j+1]); } } } return $arr; } $arr2 = bubbleSort($arr); echo implode(',', $arr2).'<hr>'; //冒泡排序 function bubbleSort2($arr){ if(!is_array($arr)) return $arr; $count = count($arr); for($i=0; $i<$count-1; $i++){ for($j=$i+1; $j<$count; $j++){ if($arr[$i] < $arr[$j]){ /* $arr[$i] = $arr[$i] + $arr[$j]; $arr[$j] = $arr[$i] - $arr[$j]; $arr[$i] = $arr[$i] - $arr[$j]; */ swap($arr[$i], $arr[$j]); } } } return $arr; } $arr3 = bubbleSort2($arr); echo implode(',', $arr3).'<hr>';; //快速排序 function quickSort($arr){ if(!is_array($arr)) return $arr; $len=count($arr); for($i=0; $i<$len; $i++){ $min = $arr[$i]; for($j=$i+1; $j<$len; $j++){ if($arr[$i] > $arr[$j]){ $temp = $arr[$i]; $arr[$i] = $arr[$j]; $arr[$j] = $temp; } } $min = $arr[$j]; } return $arr; } $arr4 = quickSort($arr); echo implode(',', $arr4); ?>
相关文章推荐
- 【捷哥浅谈PHP】第二弹---经典算法的运用(冒泡排序和快速排序)
- 冒泡排序-选择排序-快速排序(PHP实现)
- PHP实现插入排序,选择排序,冒泡排序和快速排序
- PHP实现冒泡排序和快速排序
- 常用排序算法笔记之冒泡排序、快速排序
- php排序算法(冒泡排序,快速排序)
- php冒泡排序与快速排序实例详解
- php 冒泡排序和快速排序
- PHP数据结构——冒泡排序与快速排序的比较
- 数据结构学习笔记 --- 排序(冒泡排序、快速排序)
- php冒泡排序与快速排序实例详解
- php实现冒泡排序,选择排序,插入排序和快速排序
- 冒泡排序,选择排序,插入排序,快速排序(PHP)
- PHP实现冒泡排序和快速排序
- php冒泡排序详解笔记
- 学习笔记:冒泡排序、插入排序、选择排序、快速排序的实现
- 内部排序冒泡排序、插入排序、选择排序、快速排序的算法和PHP实现
- php排序算法(冒泡排序,快速排序)
- php实现快速排序和冒泡排序
- php实现排序算法(一) 冒泡排序 快速排序