码迷,mamicode.com
首页 > 编程语言 > 详细

php几种常用的算法

时间:2015-08-14 15:03:40      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

<?php

// 选择排序

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 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 quick($array)

{

    if (count($array) <= 1) {

        return $array;

    }

    $key = $array[0];

    $l = array();

    $r = array();

    for($i=1;$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);

}

 

//冒泡排序

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;

}

php几种常用的算法

标签:

原文地址:http://www.cnblogs.com/tm2015/p/4729785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!