欢迎来到天天文库
浏览记录
ID:30505126
大小:18.28 KB
页数:9页
时间:2018-12-30
《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中
此文档下载收益归作者所有