网络上常能见到各种C、JAVA语言实现的排序算法,但很少有人会使用PHP实现的排序算法。这主要是因为PHP是一种解释型语言,而PHP则为我们编写了相关的排序算法,而不必由程序员手工编写。不管是时间复杂性还是空间复杂性,我们自己实现的算法并不比原算法更好。
总结使用PHP实现的排序算法。
总之,用PHP实现计算机的排序算法,在旁人看来是一件很愚蠢的事。本笔记主要是帮助PHP程序员入门并了解计算机算法实现的原理,喜欢学习算法的朋友欢迎收藏。
一、冒泡排序算法:
起泡排序的简单理解是:一组数据,两个进行比较,将泡泡排在前面,然后将最大的泡泡下沉到底。最后完成资料整理。
PHP源代码:
functionBubbleSort(array$container){$count=count($container);for($j=1;$j<$j>$i+){for($i=0;$i<$count-$j;$i+){if[$i+]>$container[$i+1];$container[$i+1];$container[$i+1];$container[$i+1];$container[$i+1];$container[$i+1]=$temp;}}}return$container;}
二、快速排序算法:
请从名为“基准”的数列中挑选出一个元素。与基准值相比,所有元素都较小的放置在基准之前,所有元素都比基准值大的放置在基准的后面(相同的数字可以到另一边)。C中的qsort是一种快速排序方法。
PHP源代码:
functionQuickSort(array$container){$count=count($container);if($count<=1){return$container;}$pivot=$container[0][0];$left=$right=[];for($i=1;$i=$container[$i]=<$container[$i]<$pivot){$left[]=$right[][]]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$container[$i]=$
三、插入排序算法:
该算法适合对少量数据进行排序,时间复杂度为O^2。一种稳定性分类方法。insert算法将数组分为两个部分:第一部分包含该数组的所有元素,除了最后一个元素之外(让数组多一个空间以插入),第二部分只包含该元素(即插入元素)。当第一部分完成排序后,将这个最后的元素插入已排列好顺序的第一部分。
PHP源代码:
functionInsertSort(array$container){$count=count($container);for($i=1;$i<<$count;$i++){$temp=$container[$i];$j=$i-1;//Initwhile($j>=0&$container[$temp){$container[$i]+1];$j--;}if($i!=$j+1)$container[$j+1]=$temp;}return$container;}
四、选择排序算法:
其工作原理是,每次从待排序的数据元素中选择最小(或最大)的元素,并将其存放在该序列的开始位置,直到所有要排序的数据元素被排完。
PHP源代码:
functionSelectSort(array$container){$count=count($container);for($i=0;$i<$i<$i+){$k=$i+){$k=$k=if($j=$i+1;$j!{$temp=$container[$i];$container[$i]=$container[$k];$container[$k]=$temp;}}return$container;}
上一篇: 爆款抓包工具的综合对比
下一篇: 企业网站优化与企业网站维护怎么做