插入排序 支持升序降序
程序员文章站
2022-05-19 16:13:44
...
php代码
<?php class InsertManages { //插入算法 function insert($rand_arr, $sort = '') { //得到数组个数 $count = count($rand_arr); echo '排序前' . var_export($rand_arr, TRUE) . ''; 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 '排序后' . var_export(InsertManages::insert($rand_arr, 'desc'), TRUE) . ''; ?>
上一篇: PHP中each与list用法分析比较
下一篇: sql 利用另一个数据自动生成一张新表