欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

排序算法PHP实现[下]

程序员文章站 2022-05-18 17:03:31
...

/** * @title 冒泡排序 * @desc 在要排序的一组数中,对当前还未排好序的范围内的全部数, * 自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。 * 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 * @p

/**
 * @title 冒泡排序
 * @desc  在要排序的一组数中,对当前还未排好序的范围内的全部数,
 * 自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。
 * 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
 * @param array $data
 * @return array $data
 * @author bandit
 */
function bubble_sort(array $data){
	$length = count($data);
	for($i=$length;$i>1;$i--){
		for($j=0;$j$data[$i+1]){
				list($data[$i],$data[$j])=array($data[$j],$data[$j+1]);
			}
		}
	}
	return $data;
}

/**
 * @ttile 快速排序
 * @desc
 * @param array $data
 *
 * @return array $data
 * @author bandit
 */
function quick_sort($data){
	$front = $end = array();
	$length = count($data);
	if($length

各种排序的稳定性,时间复杂度和空间复杂度总结:
排序算法PHP实现[下]

时间复杂度函数O(n)的增长情况
排序算法PHP实现[下]

参考文档:http://blog.csdn.net/hguisu/article/details/7776068