排序

来源:互联网 发布:手机攻击软件安卓版 编辑:程序博客网 时间:2024/04/29 22:58

1.冒泡排序

function bubbleSort($array)    {        $len = count($array);        for ( $i = 0; $i < $len; $i++ ) {            $count = 0;            for ( $j = 0; $j <= $len - $i; $j++ ) {                if ( $array[$j] > $array[$j + 1] ) {                    $temp = $array[$j + 1];                    $array[$j + 1] = $array[$j];                    $array[$j] = $temp;                    $count++;                }            }            if ( $count == 0 ) {                break;            }        }    }

 2.选择排序

function selectSort($array)    {        $len = count($array);        for ( $i = 0; $i < $len - 1; $i++ ) {            $p = $i;            for ( $j = $i + 1; $j < $len; $j++ ) {                if ( $array[$p] > $array[$j] ) {                    $p = $j;                }            }            if ( $p != $i ) {                $temp = $array[$p];                $array[$p] = $array[$i];                $array[$i] = $temp;            }        }        return $array;    }

3.插入排序

function insertSort($array)    {        $len = count($array);        for ( $i = 1; $i < $len; $i++ ) {            $temp = $array[$i];            for ( $j = $i - 1; $j >= 0; $j-- ) {                if ( $temp < $array[$j] ) {                    $array[$j+1] = $array[$j];                    $array[$j] = $temp;                } else {                    break;                }            }        }        return $array;    }

4.快速排序

function quickSort($array)    {        $len = count($array);        if ( $len <= 1 ) {            return $array;        }        $baseNum = $array[0];        $leftArray = array();        $rightArray = array();        for ( $i = 1; $i < $len; $i++ ) {            if ( $baseNum > $array[$i] ) {                $leftArray[] = $array[$i];            } else {                $rightArray[] = $array[$i];            }        }        $leftArray = $this->quickSort($leftArray);        $rightArray = $this->quickSort($rightArray);        return array_merge($leftArray, array($baseNum), $rightArray);    }



0 0
原创粉丝点击