php实现的常见排序算法汇总

php实现的常见排序算法汇总

ID:30505126

大小:18.28 KB

页数:9页

时间:2018-12-30

php实现的常见排序算法汇总_第1页
php实现的常见排序算法汇总_第2页
php实现的常见排序算法汇总_第3页
php实现的常见排序算法汇总_第4页
php实现的常见排序算法汇总_第5页
资源描述:

《php实现的常见排序算法汇总》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解php实现的常见排序算法汇总  一、插入排序  用文字简单的描述,比如说$arr=array(4,2,4,6,3,6,1,7,9);这样的一组数字进行顺序排序:  那么,首先,拿数组的第二个元素和第一元素比较,假如第一个元素大于第二元素,那么就让两者位置互换,接下来,拿数组的第三个元素,分别和第二个,第一个元素比较,假如第三个元素小,那么就互换。依次类推。这就是插入排序,它的时间频度是:1+2+

2、...+(n-1)=(n^2)/2。则它的时间复杂度为O(n^2).  php实现代码如下:  01  02functioninsertSort($arr){  03$count=count($arr);  04if($count  05return$arr;  06}  07for($i=1;$i  08$tmp=$arr[$i];  09$j=$i-1;  10while(j>=0&&$arr[$j]  11$arr[$i]=$arr[$j];  12$arr[$j]=$tmp;  13$j--;  14}  15}对党的认识也

3、有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解  16return$arr;  17}  18?>  二、选择排序  选择排序用语言描述的话,可以这样,如:$arr=array(4,3,5,2,1);  首先,拿第一个和后面所有的比,找出最小的那个数字,然后和第一个数组互换(当然,如果是第一个最小,那么就不用互换了),接着循环,

4、即:拿第二个和后面的比较,找出最小的数字,然后和第二个数字互换,依次类推,也就是说每次都是找出剩余最小的值。可得到:第一次,时间频度是n,(第一个和后面的n-1个比较,找到最小的,再看是不是第一个,不是第一个的话进行互换)在往后,依次是减一。它的时间复杂度,也是O(n^2);  php实现代码如下:  01  02functionselectSort($arr){  03  04$count=count($arr);  05if($count  06return$arr;  07}  08for($i=0;$i  09$min=$i

5、;  10for(j=$i+1;$j  11if($arr[$min]>$arr[$j]){对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解  12$min=$j;//找到最小的那个元素的下标  13}  14}  15if($min!=$i){//如果下标不是$i则互换。  16$tmp=$arr[$i];  17$

6、arr[$i]=$arr[$min];  18$arr[$min]=$tmp;  19}  20}  21return$arr;  22}  23?>  三、冒泡排序    冒泡排序其实上是和选择排序相比,并无明显差别。都是找到最小的,放到最左端。依次循环解决问题。差别在于冒泡排序的交换位置的次数较多,而选择排序则是找到最小的元素的下标,然后直接和最左端的交换位置。  php实现代码如下:  01  02functionselectSort($arr){  03  04$count=count($arr);对党的认识也有了进一步的提

7、高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解  05if($count  06return$arr;  07}  08for($i=0;$i  09for(j=$i+1;$j  10if($arr[$i]>$arr[$j]){  11$tmp=$arr[$i];  12$arr[$i]=$arr[$i];  13$arr[$i]=$tmp;

8、  14}  15}  16}  17return$arr;  18}  19?>  四、快速排序  快速排序,用语言来形容的话,从数组中选择一个值$a,然后和其余元素进行比较,比$a大的放到数组right中,反之,放到数组left中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。