冒泡排序,选择排序,插入排序,快速排序(PHP)
2013-11-17 11:15
489 查看
//冒泡排序 function bubbleSort($arr){ for($i=0;$i<count($arr)-1;$i++){ for($j=0;$j<count($arr)-1-$i;$j++){ if($arr[$j]>$arr[$j+1]){ $temp=$arr[$j]; $arr[$j]=$arr[$j+1]; $arr[$j+1]=$temp; } } } return $arr; } //选择排序 function selectSort($arr){ for($i=0;$i<count($arr)-1;$i++){ $min=$arr[$i]; $key=$i; for($j=$i+1;$j<count($arr);$j++){ if($min>$arr[$j]){ $min=$arr[$j]; $key=$j; } } $arr[$key]=$arr[$i]; $arr[$i]=$min; } return $arr; } //插入排序 function insertSort($arr){ for($i=1;$i<count($arr);$i++){ $key=$i-1; while($key>=0&&$val<$arr[$key]){ $arr[$key+1]=$arr[$key]; $key--; } if(($key+1)!=$i) $arr[$key+1]=$val; } return $arr; } //思路很特别的一种快速排序。 function quickSort($arr) { if (count($arr) > 1) { $k = $arr[0]; $x = array(); $y = array(); $_size = count($arr); for ($i=1; $i<$_size; $i++) { if ($arr[$i] <= $k) { $x[] = $arr[$i]; } else { $y[] = $arr[$i]; } } $x = quickSort($x); $y = quickSort($y); return array_merge($x, array($k), $y); } else { return $arr; } }
相关文章推荐
- 内部排序冒泡排序、插入排序、选择排序、快速排序的算法和PHP实现
- php 冒泡排序,选择排序、插入排序、快速排序
- PHP实现插入排序,选择排序,冒泡排序和快速排序
- php实现冒泡排序,选择排序,插入排序和快速排序
- PHP四种基础算法详解(冒泡排序、选择排序、插入排序、快速排序)
- 冒泡排序,选择排序,插入排序,堆排序,归并排序,快速排序
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- 排序算法:冒泡排序、插入排序、选择排序、快速排序对比
- 常见排序方法(冒泡排序、选择排序、插入排序、希尔排序和快速排序)
- java实现各种排序算法(包括冒泡排序,选择排序,插入排序,快速排序(简洁版))及性能测试
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- java 冒泡排序,选择排序,插入排序,快速排序
- js实现的冒泡排序、选择排序、插入排序、快速排序
- [置顶] 快速排序、冒泡排序、插入排序、选择排序
- 排序--选择排序,插入排序,冒泡排序,shell排序,快速排序(递归,迭代,改进版本),归并排序
- JAVA中排序算法(冒泡排序、选择排序、插入排序、快速排序)
- 用JS实现冒泡排序、插入排序、选择排序、快速排序
- 数据结构——选择排序、插入排序、冒泡排序、快速排序
- 最简单之Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序(转载请注明出处)
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)