• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP实现常见排序算法

php 搞代码 3年前 (2022-01-23) 14次浏览 已收录 0个评论

插入排序(Insertion Sort):每次将一个待排序的记录,按其关键字大小插入到前面已经排序好的子文件中的适当位置,直到全部记录插入完成为止。

//插入排序(一维数组)function insert_sort($arr){	$count = count($arr);	for($i=1; $i $tmp)		{			$arr[$i] = $arr[$j];			$arr[$j] = $tmp;			$j--;		}	}	return $arr;}

选择排序(Selection Sort):每次从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。

//选择排序(一维数组)function selection_sort($arr){	$count = count($arr);	for($i=0; $i<$count; $i++)	{		$k = $i;		for($j=$i+1; $j $arr[$j])			{				$k = $j;			}			if($k != $i)			{				$tmp = $arr[$i];				$arr[$i] = $arr[$k];				$arr[$k] = $tmp;			}		}	}	return $arr;}

冒泡排序(Bubble Sort):两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序记录位置。

//冒泡排序(一维数组)//实际效果是:每次循环将数组中最小的(本文来源gaodai#ma#com搞@@代~&码网
搞代gaodaima码

值放置到数组的最前段,然后,下一次循环不再循环已放置正确数组值的键,以此类推 function selection_sort($arr){ $count = count($arr); if($count <= 0) return false; for($i=0; $i$i; $j--) { if($arr[$j] < $array[$j-1]) { $tmp = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $tmp; } } } return $arr;}
快速排序:实质上和冒泡排序一样,是属于交换排序的一种应用。

//快速排序(一维数组)function quick_sort($arr){	$count = count($arr);	if($count <= 1)		return $arr;	$key = $arr[0];	$left_arr = array();	$right_arr = array();	for($i=1; $i<$count; $i++)	{		if($arr[$i] <= $key)			$left_arr[] = $arr[$i];		else			$right_arr[] = $arr[$i];	}	$left_arr = quick_sort($left_arr);	$right_arr = quick_sort($right_arr);	return array_merge($left_arr,array($arr), $right_arr);}

以上就介绍了PHP实现常见排序算法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP实现常见排序算法
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址