PHP中几种数组排序方法的共享
b.外部排序(由于大量数据,由外部存储进行排序):包括合并排序、直接合并排序
冒泡排序:从前面到前面,我们将依次比较相邻元素的排序代码。如果我们找到相反的顺序,我们将把它们交换到圆的结束,直到所有相邻的数字没有相反的顺序为止。
复制代码代码如下所示:
功能的冒泡($ ARR,$式) / / {默认快递是没有地址的值。如果你把它添加在$ ARR,你指向同一地址$ ARR1外功能前美元还设置。
{
$ = 0;
$标志= false;
为($我= 0;$我<计数($ ARR)1美元;i++)
{
为(J = 0美元;J <计数($ ARR)- 1 - $我;J + +)
{
如果($风格= = 'bts ')OP =美元美元美元美元{ } < {J}. ARR ARR { $ J + 1 };
如果($风格= = 'stb ')OP =美元美元美元美元{ } >,ARR ARR { $ J + 1 };
如果($ OP)
{
美元美元美元临时= { }度{J}.;
ARR { } = J美元美元美元美元ARR { J + 1 };
$ ARR { $ J + 1 } = $温度;
$标志=真;
}
}
如果($ = false)
{
当横循环下降旗=假时,相邻元素的每个纵向循环在不满足条件时,都是相对较大的,从小到大,没有横向环流。
}
}
foreach(ARR美元美元美元的价值关键=)
{
值;
}
}
$ arr1 =阵列(101101,- 9,- 8,0,76,1,57,43,90,23,- 56);
冒泡($ arr1,'stb '); / /小到大
{按选择排序:第n个数字与第一个数字比较,第三个数字与第二个数字比较,直到完成为止。
复制代码代码如下所示:
功能选择排序($ ARR,$式)
{
$ = 0;
$标志= false;
为($我= 0;$我<计数($ ARR)1美元;i++)
{
为(J =我+ 1;J <计数($ ARR);J + +)
{
如果($风格= = 'bts ')OP =美元美元美元美元} {我<< ARR ARR { $ J };
如果($风格= = 'stb ')OP =美元美元美元美元{我} > ARR ARR { $ J };
如果($ OP)
{
温度=美元美元美元ARR {我};
ARR {我} =美元美元美元美元ARR {,};
ARR { } =美元美元美元温度{J}.;
$标志=真;
}
}
如果($ = false)
{
打破;
}
}
foreach(ARR美元美元美元的价值关键=)
{
值;
}
}
$ arr1 =阵列(21.5,33,90,7,- 4,5,55,11);
SelectSort(约前,'stb);
复制代码代码如下所示:
功能选择排序($ ARR,$式)
{
$ = 0;
$标志= false;
为($我= 0;$我<计数($ ARR)1美元;i++)
{
为(J =我+ 1;J <计数($ ARR);J + +)
{
如果($风格= = 'bts ')OP =美元美元美元美元} {我<< ARR ARR { $ J };
如果($风格= = 'stb ')OP =美元美元美元美元{我} > ARR ARR { $ J };
如果($ OP)
{
温度=美元美元美元ARR {我};
ARR {我} =美元美元美元美元ARR {,};
ARR { } =美元美元美元温度{J}.;
$标志=真;
}
}
如果($ = false)
{
打破;
}
}
foreach(ARR美元美元美元的价值关键=)
{
值;
}
}
$ arr1 =阵列(21.5,33,90,7,- 4,5,55,11);
SelectSort(约前,'stb);
;