发布网友 发布时间:2022-04-22 23:00
共3个回答
热心网友 时间:2022-04-06 02:39
前台输入部分我就不写了,管你是用字符串形式一起传到后台还是说先用js存储了再提交到后台,总之假设你前天都获得了一个一维数组,这里给一个从大到小,一个从小到大的写法:
从大到小:
<?php
/**
* 冒泡排序算法示例
*/
// 这里以一维数组做演示
$demo_array = array(23,15,43,25,54,2,6,82,11,5,21,32,65);
// 第一层for循环可以理解为从数组中键为0开始循环到最后一个
for ($i=0;$i<count($demo_array);$i++) {
// 第二层将从键为$i的地方循环到数组最后
for ($j=$i+1;$j<count($demo_array);$j++) {
// 比较数组中相邻两个值的大小
if ($demo_array[$i] < $demo_array[$j]) {
$tmp = $demo_array[$i]; // 这里的tmp是临时变量
$demo_array[$i] = $demo_array[$j]; // 第一次更换位置
$demo_array[$j] = $tmp; // 完成位置互换
}
}
}
// 打印结果集
echo '<pre>';
var_mp($demo_array);
echo '</pre>';
从小到大:
<?php
/**
* 冒泡排序算法示例
*/
// 这里以一维数组做演示
$demo_array = array(23,15,43,25,54,2,6,82,11,5,21,32,65);
// 第一层for循环可以理解为从数组中键为0开始循环到最后一个
for ($i=0;$i<count($demo_array);$i++) {
// 第二层将从键为$i的地方循环到数组最后
for ($j=$i+1;$j<count($demo_array);$j++) {
// 比较数组中相邻两个值的大小
if ($demo_array[$i] > $demo_array[$j]) {
$tmp = $demo_array[$i]; // 这里的tmp是临时变量
$demo_array[$i] = $demo_array[$j]; // 第一次更换位置
$demo_array[$j] = $tmp; // 完成位置互换
}
}
}
// 打印结果集
echo '<pre>';
var_mp($demo_array);
echo '</pre>';
主要的代码已经给你写出来了,你自己把前端部分加上就行了
热心网友 时间:2022-04-06 03:57
你的那个asort函数里面实现的就是类似他写的冒泡算法,排序算法有很多种。他只是用了自己写冒泡算法而已。没有像你使用了php自带的排序函数。热心网友 时间:2022-04-06 05:32
我们可以直接通过最大数的系统函数求得数组中最大值,其函数是max(),其中括号内是一个初始化赋值好的数组。我们也可以用冒泡排序法求最大值。用到了for循环,是两层for.具体方法如下介绍