PHP常见的排序算法实例摘要{基本排序,冒泡排序,快速排序,插入排序)

PHP常见的排序算法实例摘要{基本排序,冒泡排序,快速排序,插入排序)
本文对PHP常见的排序算法进行了总结,供大家参考,如下:
贝文{类
美元=征收的公共公共;
民营担保的非盈利的私人=美元;
保护保护'protected美元=;
/ /最后的最后'final美元=;
静态静态静态的美元;
功能__construct(){
美元->保护=改变私人的;
}
公共函数值(美元){
自我:$静态= $;
}
公共职能getValue(){
这是私人的;
}
功能__destruct(){
echo'asdfsadf;
}
}
类paixu {
基本排序
公共功能t_sortarray($array){
如果(is_array($array)计数($array)> 1){
对于($ i = 0;$ i <计数(数组);$ + +){
对于($ =($ i + 1);$ <计数($数组);$ + +){
$数组$ { $ };
如果(数组{ $ } } <数组{ $ i }){
$数组};
$ $;
}
}
}
返回数组;
{人}
返回数组;
}
}
冒泡排序
公共功能c_sortarray($array){
如果(!is_array($array)| |计数($array)<= 1){ return数组;}
$状态= false;
foreach(数组达关键= > $ V){
如果($键> 0){
如果(数组$ { $ key-1 } >数组$ { $关键}){
数组$ { $关键} =数组{ $ key-1 };
数组$ { $ key-1 } = $ V;
$状态=真;
}
}
}
如果($状态){
返回这个-> c_sortarray(数组);
{人}
返回数组;
}
}
快速排序
公共功能v_sortarray($array){
如果(!is_array($array)| |计数($array)<= 1){ return数组;}
如果(计数(数组)> 2){
$ $ =数组({(数组) / 2)+ 1 };
{人}
如果(数组{ 0 } { $数组{ 1 }){
$ $数组{ 0 };
$数组{ 0 } = $数组{ 1 };
$数组{ 1 } = $;
}
返回数组;
}
leftarray美元=阵();
rightarray美元=阵();
foreach(数组达关键= > $ V){
如果($ $ m){
rightarray美元{ } = $ V;
}
如果($ v $ m){
leftarray美元{ } = $ V;
}
如果($ = $ m =){
$中= { $ v;
}
}
nleftarray美元=美元-> v_sortarray($ leftarray);
$nrightarray = $this->v_sortArray ($rightarray);
返回array_merge(nleftarray美元,美元美元中,nrightarray);
}
直接插入排序
公共功能i_sortarray($array){
如果(!is_array($array)| |计数($array)<= 1){ return数组;}
创建一个数组,数组(数组$ $ { 0 });
$ = 0;
foreach(数组$ K = > $ V){
如果($ k 0){
如果($ V > = $ NewArray {计数($ NewArray)- { 1 })
为创建一个数组{ } = $ V;
{人}
foreach(NewArray美元美元美元NK = > NV){
如果($ v $ NV){
temparray美元=阵();
foreach(NewArray美元美元美元CK = > CV){
如果(美元=美元){
temparray美元美元美元} = {对照简历;
} elseif($ CK = = $ NK){
temparray美元{ $ CK } = $ V;
temparray美元{($ CK + 1)} = $ CV;
{人}
temparray美元{($ CK + 1)} = $ CV;
}
}
创建一个数组= temparray美元美元;
打破;
}
}
}
}
}
返回新数组;
}
}
贝文=新paixu美元;
$array =阵列(5,4,5,4,4,5,5,5,5,5);
$ V = $贝文-> t_sortarray(数组);
print_r($ V);
$ V = $贝文-> c_sortarray(数组);
print_r($ V);
$ V = $贝文-> v_sortarray(数组);
print_r($ V);
$ V = $贝文-> i_sortarray(数组);
print_r($ V);

运行结果:
阵列

{ 0 } = 4
{ 1 } = 4
{ 2 } = 4
{ 3 } = 5
{ 4 } = 5
{ 5 } = 5
{ 6 } = 5
{ 7 } = 5
{ 8 } = 5
{ 9 } = 5

阵列

{ 0 } = 4
{ 1 } = 4
{ 2 } = 4
{ 3 } = 5
{ 4 } = 5
{ 5 } = 5
{ 6 } = 5
{ 7 } = 5
{ 8 } = 5
{ 9 } = 5

阵列

{ 0 } = 4
{ 1 } = 4
{ 2 } = 4
{ 3 } = 5
{ 4 } = 5
{ 5 } = 5
{ 6 } = 5
{ 7 } = 5
{ 8 } = 5
{ 9 } = 5

阵列

{ 0 } = 4
{ 1 } = 4
{ 2 } = 4
{ 3 } = 5
{ 4 } = 5
{ 5 } = 5
{ 6 } = 5
{ 7 } = 5
{ 8 } = 5
{ 9 } = 5

有关感兴趣的读者的PHP相关内容的更多信息,请参见专用站点:php

希望本文能对PHP程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部