PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » 入门和基础知识 » PHP实现常见排序
本页主题: PHP实现常见排序 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

meiwang12363

该用户目前不在线
级别: 中级程序员
精华: 1
发帖: 1069
威望: 0 点
金钱: 0 PYMB
贡献值: 0 点
在线时间:8(小时)
注册时间:2007-04-26
最后登录:2007-09-04

PHP实现常见排序





//插入排序(一维数组)

function insert_sort($arr){

    $count = count($arr);

    for($i=1; $i$count; $i++){

        $tmp = $arr[$i];

        $j = $i - 1;

        while($arr[$j] > $tmp){

            $arr[$j+1] = $arr[$j];

            $arr[$j] = $tmp;

            $j--;

        }

    }

    return $arr;

}



//选择排序(一维数组)

function select_sort($arr){

    $count = count($arr);

    for($i=0; $i$count; $i++){

        $k = $i;

        for($j=$i+1; $j$count; $j++){

            if ($arr[$k] > $arr[$j])

                $k = $j;

            if ($k != $i){

                $tmp = $arr[$i];

                $arr[$i] = $arr[$k];

                $arr[$k] = $tmp;

            }

        }

    }

    return $arr;

}


//冒泡排序(一维数组)

function bubble_sort($array){

    $count = count($array);

    if ($count  0) return false;

   

    for($i=0; $i$count; $i++){

        for($j=$count-1; $j>$i; $j--){

            if ($array[$j]  $array[$j-1]){

                $tmp = $array[$j];

                $array[$j] = $array[$j-1];

                $array[$j-1] = $tmp;

            }

        }

    }

    return $array;

}


//快速排序(一维数组)

function quick_sort($array){

    if (count($array)  1) return $array;


    $key = $array[0];

    $left_arr = array();

    $right_arr = array();

    for ($i=1; $icount($array); $i++){

        if ($array[$i]  $key)

            $left_arr[] = $array[$i];

        else

            $right_arr[] = $array[$i];

    }

    $left_arr = quick_sort($left_arr);

    $right_arr = quick_sort($right_arr);

   

    return array_merge($left_arr, array($key), $right_arr);

}



?>
顶端 Posted: 2007-08-20 09:25 | [楼 主]
PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » 入门和基础知识

时:11-23 05:10 Copyright © 2006 phpwhy.com 权
ICP05060669

曳息 -