小小学生 发表于 2022-7-25 12:32

PHP怎么不用内置函数取出数组中的最大值

本帖最后由 小小学生 于 2022-7-26 20:51 编辑

1、一个数组$arr=array(52,1,45,9,0,21,-1,40,-5);那么如何通过算法得出这个数组的最大值呢,不能使用php内置函数,具体的代码要怎么写呢
2、在第一个数组的基础上,如何按顺序大小输出前五位呢,不能使用php内置函数,具体函数怎么写呢

xzw984741 发表于 2022-7-25 12:41

自己写个if一个个比咯,直至最后一个下标都还是它大他就是最大的

小小学生 发表于 2022-7-25 12:43

xzw984741 发表于 2022-7-25 12:41
自己写个if一个个比咯,直至最后一个下标都还是它大他就是最大的

具体的实现代码要怎么写呢

laos 发表于 2022-7-25 12:44

就 冒泡排序法?

boxer 发表于 2022-7-25 12:54

伪代码:

变量 = 数组第一个值
循环 从第二个到最后一个{
        如果(当前值 > 变量){
                变量 = 当前值
        }
}

打印(数组最大值: 变量)

xiajin 发表于 2022-7-25 12:58

冒泡排序即可,最后取第一个元素就可以了

豆虫 发表于 2022-7-25 13:08

本帖最后由 豆虫 于 2022-7-25 13:14 编辑

<?php
$arr = array(52,1,45,9,0,21,-1,40,-5);
for($i = 9;$i>=0;$i--){
    for($j = 0 ; $j < $i ; $j++){
      if($arr[$j+1] > $arr[$j] ){
            $aa = $arr[$j+1];
            $arr[$j+1] = $arr[$j];
            $arr[$j] = $aa;
      }
    }
}
print_r($arr[$j]);
?>

jiujiukeji 发表于 2022-7-25 13:16

排序喽~~~~~~

快乐小风 发表于 2022-7-25 13:40

冒泡/快排

ytw6176 发表于 2022-7-25 14:44

好多办法,我想到个骚的,丢到表里,再select * from xxx order by xxx limit 1
页: [1] 2
查看完整版本: PHP怎么不用内置函数取出数组中的最大值