PHP插入排序方法实现数组排序实例

PHP插入排序方法实现数组排序实例
本文采用PHP插入排序法实现数组排序,供大家参考,具体分析如下:

的插入排序方法的基本思想是通过案例说明,或由$ ARR =阵列(2,6,3,9),从大到小。

实现原理:假设(不是创造),有一个有序数组arr =阵列(2),这与$ ARR { 1 } = 6相比,如果6 > 2从$ ARR { 0 } $ ARR { 1 }位置转移,6插入ARR { 0美元}的位置。然后,相比美元ARR { 2 } = 3美元和ARR { 1 } = 2, 3 > 2继续移动至ARR { 2 }位置后ARR { 1 } = 2美元。原来的$ ARR { 3 } = 3插入$ ARR { 1 }的位置,然后继续插入9的位置。最终的结果是(9,6,3,2)。同样是通过计数达到($ ARR)- 1周期。

码律分析:

第一个大循环:1 { }到0 { }的比率;

第二个大循环:2 { }到1 { }的比率,以及{ 1 }到0 { }的比率;

第三个大循环:3 { }到2 { }的比率,{ 2 }到1 { }的比率,以及{ 1 }到0 { }的比率;

php代码,使用一个函数包使其易于使用
< PHP
函数插入排序($ ARR){
为($我= 1;$我<计数($ ARR);$ i++){
/ / insertval美元是要插入的数
对于($ = $ i;$ j 0;$ j){
如果($ ARR { $ J } > $ ARR { $ J-1 }){
insertval美元美元美元= { }度{J}.;
ARR { } = J美元美元美元美元J-1 ARR { };
ARR { } =美元美元美元insertval J-1;
}
}
}
}
myarr美元=阵列(2,6,3,9);
InsertSort(myarr美元);

print_r($ myarr);
>
代码实现分析:

第一次大循环:

我= 1阵列(2,6,3,9)

J = 1执行6和2:$ ARR { 1 } = 2;$ ARR { 0 } = 6,得到(6,2,3,9)

第二次大循环:

我= 2阵列(6,2,3,9)

J = 2执行3和2:变成$ ARR { 2 } = 2,$ ARR { 1 } = 3,得到(6,3,2,9)

J,J = 1执行$ ARR { 1 }和{ 0 }比ARR美元:条件不成立

第三大循环:

我= 3阵列(6,3,2,9)

J = 3执行9和2:变成$ ARR { 3 } = 2,$ ARR { 2 } = 9,得到(6,3,9,2)

J,J = 2执行9、3美元:成为ARR { 2 } = 3,$ ARR { 1 } = 9,(6,9,3,2)

J,J = 1执行9、6美元:成为ARR { 1 } = 5,$ ARR { 0 } = 9,(9,6,3,2)

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