冒泡法:

每个依次同其它数据比较,先选出最大(最小)的,再选第二大(小)的。

示例:

//冒泡排序
function maopao($arr)
{
	$n = count($arr);
	for($j=0;$j<$n-1;$j++)
	{
		for($i=$j+1;$i<=$n-1;$i++)
		{
			if($arr[$j]>$arr[$i])
			{
				$t = $arr[$i];
				$arr[$i] = $arr[$j];
				$arr[$j]=$t;
			}
		}
	}
	return $arr;
}
$arr = array(1,5,4,7,3,2);
print_r($arr);

快速排序:

通过一趟排序分成两部分,然后递归对这两部分排序,最后合并。

//快速排序
function quick($array)
{	
	if(count($array)<=1)
	{
		return $array;
	}
	$key = $array[0];
	$l = array();
	$r = array();
	for($i=1;$i<count($array);$i++)
	{
		if ($array[$i]<=$key)
		{
			$l[] =$array[$i];
		}
		else
		{
			$r[] = $array[$i];
		}
	}

	$l = quick($l);
	$r = quick($r);
return array_merge($l,array($key),$r);
}
$array = array(2,5,3,4,1);
print_r(quick($array));