手机版

排序算法PHP版中的快速排序和冒泡排序

时间:2021-11-09 来源:互联网 编辑:宝哥软件园 浏览:

1.快速分类1。引言快速排序是Tony Hall开发的一种排序算法。平均来说,对n个项目进行排序需要 (n log n)比较。在最坏的情况下,需要进行 (N2)比较,但这种情况并不常见。事实上,快速排序通常比其他 (n log n)算法快得多,因为它的内部循环可以在大多数架构上高效实现。快速排序使用分治策略将一个列表分成两个子列表。2.步骤从序列中挑选一个元素,称为“透视”,并对序列重新排序。所有小于参考值的元素都被放置在基准的前面,所有大于参考值的元素都被放置在基准的后面(相同的数字可以在两侧)。分区退出后,基准测试在系列的中间。这称为分区操作。递归排序小于参考值的元素子序列和大于参考值的元素子序列。3.代码副本的代码如下:函数快速排序(array $ array){ $ len=count($ array);if($ len=1){ return $ array;} $ key=$ array[0];$ left=array();$ right=array();for($ I=1;$ i $ len$ I){ if($ array[$ I]$ key){ $ left[]=$ array[$ I];} else { $ right[]=$ array[$ I];} } $ left=quick sort($ left);$ right=quick sort($ right);return array_merge($left,array($key),$ right);}打印“pre”;print_r(quickSort(array(1,4,22,5,7,6,9)));打印'/pre ';4.排序效果使用快速排序方法对数字列表进行排序的过程。

2.气泡分类1。引言冒泡排序(台湾省翻译为冒泡排序或冒泡排序)是一种简单的排序算法。它反复访问要排序的序列,一次比较两个元素,如果它们的顺序错误,就交换它们。重复访问序列,直到不需要交换,也就是说序列已经排序。这个算法的名字来源于这样一个事实,即较小的元素将通过交换慢慢“浮动”到序列的顶部。2.比较相邻元素。如果第一个比第二个大,就换两个。从开始的第一对到结束的最后一对,对每对相邻的元素做同样的操作。此时,最后一个元素应该是最大的数字。对除最后一个元素之外的所有元素重复上述步骤。一次对越来越少的元素重复上述步骤,直到没有要比较的数字对。3.代码复制如下:phpffunction bubbingSort(array $ array){ for($ I=0,$ len=count($ array)-1;$ i $ len$ I){ for($ j=$ len;$ j $ I;-$ j){ if($ array[$ j]$ array[$ j-1]){ $ temp=$ array[$ j];$ array[$ j]=$ array[$ j-1];$ array[$ j-1]=$ temp;} } }返回$ array}打印“pre”;print_r(bubbingSort(array(1,4,22,5,7,6,9)));打印'/pre ';4.排序过程通过冒泡排序对数字列表进行排序的过程

版权声明:排序算法PHP版中的快速排序和冒泡排序是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。