クイックソート Qsort

WBOY
リリース: 2016-08-08 09:22:04
オリジナル
1227 人が閲覧しました
<?php
function Partition(&$arr,$low,$high)
{
	$_t=$arr[$low];
	while($low<$high)
	{
		//注意第二个限制条件,不然如果一直都是大于会超过数组下标
		while($arr[$high]>$_t&&$high>$low)  --$high;
		$arr[$low]=$arr[$high];
		while($arr[$low]<$_t&&$low<$high)  ++$low;
		$arr[$high]=$arr[$low];
	}
	$arr[$low]=$_t;
	return $low;
}
function Qsort(&$arr,$low,$high)
{
	if($low<$high)
	{
		$mid=Partition($arr,$low,$high);
		Qsort($arr,$low,$mid-1);
		Qsort($arr,$mid+1,$high);
	}
}
$a=array(9,8,7,10,11,4,3,2,1);
Qsort($a,0,8);
var_dump($a);
ログイン後にコピー

著作権に関する声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、クイック ソートを含む Qsort を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート