+ -
当前位置:首页 → 问答吧 → 将随机给予的整型一维数组以步长为1补齐且升序排列

将随机给予的整型一维数组以步长为1补齐且升序排列

时间:2009-02-12

来源:互联网

这个是早上坐车的时候在路上想的,当时想主要是用于相册图片翻页用,向前向后步长都为一,这样写起来简单,在思考的过程中也发现了几个可以直接达到效果的方法,- -0,但是既然想了一半,还是写出来了,放弃可不是程序员的作风。^ ^。发这个贴子时,突然觉得php的数组里好像有类似的方法,先不管了,发上来给大家看看再说。

[php]
<?php
$creasing = array('2' ,'8', '6', '8', '15', '12', '34');
//将数据以值升序排序
sort($creasing);
//取得最大索引
$arrayCount = count($creasing);
for($i = 0; $i < $arrayCount; $i++){
        //如果当前索引和它后一位索引的差不等于壹或是大于零
        if ($creasing[$i+1] - $creasing[$i] != 1 && $creasing[$i+1] - $creasing[$i] > 0){
            $step = $creasing[$i+1] - $creasing[$i];
                for($j = 1; $j < $step; $j++){
                    $stepValue = $creasing[$i];
                   array_push($creasing, $creasing[$i]+$j);
                }
        }
}
sort($creasing);
print_r($creasing);
?>
[/php]
结果:
下载 (21.1 KB)
2009-2-12 09:52

作者: billsion   发布时间: 2009-02-12