gpt4 book ai didi

PHP中数组的三种排序方法分享

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP中数组的三种排序方法分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1、冒泡排序法  说明:找到最大的数,排列到最后面,然后继续找  例:  。

复制代码代码如下

$arr = array(3,5,-1,0,2);  for($i=0;$i<count($arr)-1;$i++){  for($j=0;$j<count($arr)-1-$i;$j++){  if($arr[$j]>$arr[$j+1]){  $temp = $arr[$j];  $arr[$j]=$arr[$j+1];  $arr[$j+1]=$temp;  }  }  }  。

理解:  3,5,-1,0,2  //从第一个数开始往后比较,如果比后面的数大则与后面的数调位置  //第一次,3小于5,那么不变  //第二次,5大于-1,那么变成  3,-1,5,0,2  //第三次,5大于0  3,-1,0,5,2  //第四次,5大于2  3,-1,0,2,5  至此完成一次内循环,此时最后一个数完成排序,下次将不参与  3,-1,0,2,5第二次外循环开始 第一次:3大于-1  -1,3,0,2,5  第二次:3大于0  -1,0,3,2,5  第三次:3大于2  -1,0,2,3,5  至此完成后面两位数的排序了,接下来类推  -1,0,2,3,5  2、选择排序法  说明:先假设第一个数就是最小的数,然后将后面的数依次与它比较,如果假设的数不是最小的数,就将它与后面的最小的数调换位置  。

复制代码代码如下

$arr=array(2,1,-1,3,0);  for($i=0;$i<count($arr)-1;$i++){  $minval = $arr[$i];  $minindex = $i;  for($j=1+$i;$j<count($arr);$j++){  if($arr[$j]<$minval){  $minval = $arr[$j];  $minindex = $j;  }  }  $temp = $arr[$i];  $arr[$i] = $arr[$minindex];  $arr[$minindex] = $temp;  }  。

理解:  2,1,-1,3,0  //先假设第一个数2为最小值,它后面的数依次与2做比较,寻找到最小的那个数  过程:  1小于2,那么minval=1  -1小于1,那么minval=-1  3大于-1,不变  0大于-1,不变  那么现在就找到了该数组中最小的数了为-1  将-1与2调换位置就完成第一个数的排序了  那么现在数组变成  -1,1,2,3,0  现在第一个数-1已经为有序,所以不参与比较了,往后面继续  现在假设minval=1  2大于1,不变  3大于1,不变  0小于1,那么minval=0  现在一次循环完成,调换0与1的位置完成第二个数的排序  那么现在数组变成  -1,0,2,3,1  //后面的推法与上面相同。。。  3、插入排序法 说明:先假设一个数组中的第一个数为单独的有序数组,再将后面的一个数与它【这里随它I的增长,就变成它们了】做比较,如果后面的数比假设的数还小,则将小的那个数后移,最后将那个数移到最前面  。

复制代码代码如下

$arr=array(2,1,-1,3,0);  for($i=1;$i<count($arr);$i++){  $insertval=$arr[$i];  $insertindex = $i-1;  while($insertindex>=0 && $insertval<$arr[$insertindex]){  $arr[$insertindex+1]=$arr[$insertindex];  $insertindex--;  }  $temp = $arr[$i];  $arr[$insertindex+1]=$insertval;  }  。

理解:  2,1,-1,3,0  //第一次,先保存待插入的数1为insertval,再拿 insertval 与2比较,1小于2,所以把2后移,变成如下的图  2,2,-1,3,0  //此时2前面没有数字了,insertindex=0,所以比较完成,那么将insertval插入到寻找到的这个位置。变成如下图  1,2,-1,3,0  //此时,1,2变成有序数组  //第二次,先保存待插入的数-1为insertval,再拿insertval与2做比较,-1小于2,所以把2后移,变成如下图  1,2,2,3,0  //此时,再拿insertval与1做比较,-1小于1,那么把-1后移,变成如下图(这就是一个拿待插入数与前面的有序数组比较的过程)  1,1,2,3,0  //此时,insertindex到头了,所以将insertval插入该位置  -1,1,2,3,0  //后面推法如上 。

最后此篇关于PHP中数组的三种排序方法分享的文章就讲到这里了,如果你想了解更多关于PHP中数组的三种排序方法分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com