PHP面试时会考到的算法题之排序

来源:互联网 发布:关键词优化 智搜宝 编辑:程序博客网 时间:2024/05/14 20:05

1.冒泡排序:

/** * @todo 冒泡排序 * @param array $arr */function pullSort($arr){    for ($i=1;$i<count($arr);$i++){        for ($j=count($arr)-1;$j>=$i;$j--){            if ($arr[$j]<$arr[$j-1]){                $thum =  $arr[$j];                $arr[$j] = $arr[$j-1];                $arr[$j-1] = $thum;            }        }    }    return $arr;}

2.快速排序:

/** * @todo 快速排序 */function quickSort($arr){    if (count($arr)<=1){        return $arr;    }else{        $key=$arr[0];        $leftArr=array();        $rightArr=array();        for ($i=1;$i<count($arr);$i++){            if ($arr[$i]<=$key){                $leftArr[]=$arr[$i];            }else{                $rightArr[]=$arr[$i];            }        }        $leftArr=$this->quickSort($leftArr);        $rightArr=$this->quickSort($rightArr);        return array_merge($leftArr,array($key),$rightArr);    }}
0 0
原创粉丝点击