用php编程快速排序法,PHP 快速排序法

PHP快速排序法代码实例:

//快速排序法封装函数

function quick_Sort($array){

//先判断是否需要继续进行,若所要排序数组只有一个元素或没有元素则不需要排序

$len = count($array);

if($len <= 1)

{

return $array;

}

//如果所给数组元素大于1个,需要排序

//选择数组第一个元素作为标尺

$key = $array[0];

//初始化两个数组

$left_array = array();//小于标尺的

$right_array = array();//大于标尺的

//遍历所给数组除了标尺外的所有元素,按照大小关系放入两个数组内

for($i=1;$i

if($array[$i]

//如果数组元素小于标尺则将该元素放入左数组

$left_array[] = $array[$i];

}else{

//如果数组元素大于标尺则将该元素放入右数组

$right_array[] = $array[$i];

}

}

//再分别对 左数组 和 右数组进行相同的排序处理方式

//递归调用这个函数,并记录结果

$left_array = quick_Sort($left_array);

$right_array = quick_Sort($right_array);

//合并左数组 标尺 右数组

//array_merge() 函数把两个或多个数组合并为一个数组。

//如果键名有重复,后面的键名的值覆盖前面的键名的值。如果数组是数字索引的,则键名会以连续方式重新索引。

//语法 array_merge(array1,array2,array3...)

return array_merge($left_array,array($key),$right_array);

}

$sortarray = array(13,89,23,9,19,88,56,78,34,69,10,14);

print_r(quick_Sort($sortarray));

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>