<?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 |