PHP两种快速排序算法的一个实例

PHP两种快速排序算法的一个实例
虽然PHP Web应用程序开发这样的,我们不是在排序的重要性的过分强调,因为PHP本身带来的(如排序)这样强大的排序功能,但在一些重要的场合,如一些高并发的情况下,我想影响的排序算法是不可忽视的。所以我们介绍了递归排序和迭代排序在这里。

递推法:
*递归快速排序
* /
功能快速排序($ SEQ)
{
$ = $序列{ 0 };
$ =数组();
$ =数组();
为($我= 1;美元美元美元我<< _size;i++){
如果($ { $ I } $ K){
x $ $ $ =;
{人}
$ $;
}
}
X元= quicksort(X元);
Y元= quicksort(Y元);
返回array_merge(X元,阵列(k),Y元);
{ { { }
返回$;
}
}

迭代法:
*迭代法的快速排序
* /
功能quicksortx($ SEQ)
{
$堆栈=数组(序列);
数组();
当($堆栈){
美元($堆栈)array_pop ARR =;
如果(计数($ ARR)<= 1){
如果(计数($ ARR)= = 1){
排序{ } = $ ARR { 0 };
}
继续;
}
$ k = $ ARR { 0 };
$ =数组();
$ =数组();
_size美元=计数($ ARR);
为($我= 1;美元美元美元我<< _size;i++){
如果($ ARR { $我} $ k){
X元{ } = {我} ARR美元美元;
{人}
Y元{ } = {我} ARR美元美元;
}
}
空(Y元)array_push(合栈,Y元);
array_push(合栈,数组($ ARR { 0 }));
空(X元)array_push(合栈,X元);
}
返回$排序;
}

使用uff1a
*生成随机数组
* /
($ i = 0;$ i < 5;$ + +){
testarr美元{ } = mt_rand(0100);
}
var_dump($ testarr);
var_dump(快速排序($ testarr));

var_dump(quicksortx($ testarr));

tag:快速排序算法两种实例电脑软件php

相关内容