用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

php 插入排序 支持升序降序

2014-12-01 作者: php源代码大全举报

[php]代码库

<?php
class InsertManages {
    //插入算法
    function insert($rand_arr, $sort = '') {
        //得到数组个数
        $count = count($rand_arr);
        echo '<hr>排序前<hr/><xmp>' . var_export($rand_arr, TRUE) . '</xmp>';
        if ($sort == 'asc' || empty($sort)) {
            for ($i = 1; $i < $count; $i++) {
                if ($rand_arr[$i] < $rand_arr[$i - 1]) {
                    $t = $rand_arr[$i];
                    for ($j = $i; $j > 0 && $rand_arr[$j - 1] > $t; $j--) {
                        $rand_arr[$j] = $rand_arr[$j - 1];
                        $rand_arr[$j - 1] = $t;
                    }
                }
            }
            return $rand_arr;
        } else if ($sort == 'desc') {
            for ($i = $count - 2; $i >= 0; $i--) {
                if ($rand_arr[$i] < $rand_arr[$i + 1]) {
                    $t = $rand_arr[$i];
                    for ($j = $i + 1; $j < $count && $rand_arr[$j] > $t; $j++) {
                        $rand_arr[$j - 1] = $rand_arr[$j];
                        $rand_arr[$j] = $t;
                    }
                }
            }
            return $rand_arr;
        }
    }

    //创建随机数组
    function rands() {
        $s = 100;
        $arr = array();
        for ($i = 0; $i < $s; $i++) {
            $arr[] = rand(0, 1000);
        }
        return $arr;
    }

}

$rand_arr = InsertManages::rands();
echo '<hr>排序后<hr/><xmp>' . var_export(InsertManages::insert($rand_arr, 'desc'), TRUE) . '</xmp>';
?>
//该片段来自于http://yuncode.net


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...