PHP排序四算法之冒泡、选择、快速、插入

本文介绍了PHP中的四种排序算法:冒泡排序通过相邻元素比较交换实现升序排列;选择排序每次找出未排序部分的最小元素放在已排序部分的末尾;快速排序采用分治策略,通过基准元素划分序列;插入排序则是将每个元素插入到已排序部分的正确位置。这些算法各有特点,适用于不同场景。
摘要由CSDN通过智能技术生成

1、冒泡排序

思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

<?php
function arr_sort($arr){
	$count = count($arr);
	$tmp = 0;
	for ($i=0; $i < $count ; $i++) {
		for ($j=0; $j < $count-1-$i ; $j++) {
			if ($arr[$j] > $arr[$j+1]) {
				$tmp = $arr[$j];
				$arr[$j] = $arr[$j+1];
				$arr[$j+1] = $tmp;
			} else {
				break;	//终止内层循环
			}
		}
	}

	return $arr;
}

$arr = [11,2,4,43,6,35,32];
$new_arr = arr_sort($arr);

print_r($new_arr);

2、选择排序

思路分析:在要排序的一组数中,选出最小的一个数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。

<?php
function sel_sort($arr){
	$count = count($arr);
	$tmp = 0;
	for ($i=0; $i < $count-1; $i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值