用php实现的各种排序算法,冒泡排序,交换排序,选择法排序,插入法排序,快速排序,根据实际情况可选则不同的排序算法。效率也有所不同。
重要的还是先理解了算法,实现起来才水到渠成。
冒泡排序:<?php
function BubbleSort($arr){
$num = count($arr);
for($i=1;$i<$num;$i++){
for($j=$num-1;$j>=$i;$j--){
if($arr[$j]<$arr[$j-1]){
$iTemp = $arr[$j-1];
$arr[$j-1] = $arr[$j];
$arr[$j] = $iTemp;
}
}
}
return $arr;
}
?>
交换法排序:<?php
function ExchangeSort($arr){
$num = count($arr);
for($i=0;$i<$num-1;$i++){
for($j=$i+1;$j<$num;$j++){
if($arr[$j]<$arr[$i]){
$iTemp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $iTemp;
}
}
}
return $arr;
}
?>
选择法排序:<?php
function SelectSort($arr){
$num = count($arr);
for($i=0;$i<$num-1;$i++){
$iTemp = $arr[$i];
$iPos = $i;
for($j=$i+1;$j<$num;$j++){
if($arr[$j]<$iTemp){
$iTemp = $arr[$j];
$iPos = $j;
}
}
$arr[$iPos] = $arr[$i];
$arr[$i] = $iTemp;
}
return $arr;
}
?>
插入法排序:<?php
function InsertSort($arr){
$num = count($arr);
for($i=1;$i<$num;$i++){
$iTemp = $arr[$i];
$iPos = $i-1;
while(($iPos>=0) && ($iTemp<$arr[$iPos])){
$arr[$iPos+1] = $arr[$iPos];
$iPos--;
}
$arr[$iPos+1] = $iTemp;
}
return $arr;
}
?>
快速排序 :<?php
function QuickSort($arr){
$num = count($arr);
$l=$r=0;
for($i=1;$i<$num;$i++){
if($arr[$i] < $arr[0]){
$left[] = $arr[$i];
$l++;
}else{
$right[] = $arr[$i];
$r++;
}
}
if($l > 1){
$left = QuickSort($left);
}
$new_arr = $left;
$new_arr[] = $arr[0];
if($r > 1){
$right = QuickSort($right);
}
for($i=0;$i<$r;$i++){
$new_arr[] = $right[$i];
}
return $new_arr;
}
$arr = array(7,1,6,5,2);
$arr_new = QuickSort($arr);
?>
分享到:
相关推荐
PHP实现各种排序算法 // 冒泡排序 // 交换法排序 // 选择法排序 // 插入法排序 // 快速排序 ……
排序算法 PHP源码 php排序排序算法 PHP源码 php排序排序算法 PHP源码 php排序排序算法 PHP源码 php排序排序算法 PHP源码 php排序排序算法 PHP源码 php排序排序算法 PHP源码 php排序排序算法 PHP源码 php排序排序算法...
许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法...下面通过本文给大家介绍PHP实现四种基础排序算法的运行时间比较,一起看下吧。
PHP_使用php实现的排序算法_Sorting
php php_使用php开发的排序算法之BubbleSort_排序算法实现
php php_使用php开发的排序算法之ArrayKeysSort_排序算法实现
php排序 ,插入排序,选择排序,冒泡排序,快速排序。 整理出来,供大家参考一下
php // 功能: PHP实现各种排序算法 // Author: windlike // Datetime: 2007-06-09 // 冒泡排序 function BubbleSort($arr){ $num = count($arr); for($i=1;$i<$num;$i++){ for($j=$num-1;$j>=$i;$j–){ if($arr[$...
使用php实现bubbleSort函数来实现冒泡排序算法。在测试部分,我们使用一个数组来测试bubbleSort函数,并输出排序后的结果。
php排序算法集锦,包括快速算法 php排序算法集锦,包括快速算法
PHP_基于php实现的冒泡排序算法_BubbleSort
PHP_基于php实现的快速排序算法_QuickSort
PHP排序算法大全(经典).pdf
用php实现几种常见的排序算法共6页.pdf.zip
介绍一个快速排序的算法php实现类,采用递归算法的快速排序,找到要排序的数组,最低的排序子段和最高的排序字段。
php组合算法最优-php–编写更快的组合算法,排序算法数据结构 最快的排序算法
php优化版本的冒泡排序算法
冒泡排序算法是一种简单直观的排序算法,主要通过比较相邻元素的值,依次交换位置,直到没有任何一对数字需要交换,从而完成排序。该算法得名于较小或较大的元素会像水中的气泡一样逐渐“浮”到数列的顶端或底端。...