function bubbingSort(array $array) - {
- for($i=0, $len=count($array)-1; $i<$len; ++$i)
- {
- for($j=$len; $j>$i; --$j)
- {
- if($array[$j] < $array[$j-1])
- {
- $temp = $array[$j];
- $array[$j] = $array[$j-1];
- $array[$j-1] = $temp;
- }
- }
- }
- return $array;
- }
print ' '; - print_r(bubbingSort(array(1,4,22,5,7,6,9)));
- print '';
- ?>
快速排序实现原理
先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。
function quickSort(array $array) - {
- $len = count($array);
- if($len <= 1)
- {
- return $array;
- }
- $key = $array[0];
- $left = array();
- $right = array();
- for($i=1; $i<$len; ++$i)
- {
- if($array[$i] < $key)
- {
- $left[] = $array[$i];
- }
- else
- {
- $right[] = $array[$i];
- }
- }
- $left = quickSort($left);
- $right = quickSort($right);
- return array_merge($left, array($key), $right);
- }
print ' '; - print_r(quickSort(array(1,4,22,5,7,6,9)));
- print '';
- ?>
|