php - 在 php 中对数字进行排序,

标签 php algorithm sorting

您好,我正在使用 php 学习算法,我想将此伪代码转换为 php,

for i = 1 to n − 1
  minval = A[i]
  minindex = i
    for j = i to n
      if (A[j] < minval)
         minval = A[j]
         minindex = j
       exchange A[i] and A[minindex]

这是php中对应的代码

$A = array(1, 4, 2, 3, 70, 10, 7 );
    $n = sizeof($A);
    for ($i = 0; $i == $n - 1; $i++){
        for ($j = $i + 1; $j == $n; $j++){
            if ($A[$i] > $A[$j]){
                 $temp = $A[$j];
                $A[$j] = $A[$i];
                $A[$i] = $temp;
            }
        }
    }

print_r($A);

print_r 按原始顺序输出数组,为什么我的算法不重新排序数组?

最佳答案

你应该检查你的 for 循环:

for ($i = 0; $i == $n - 1; $i++){
    for ($j = $i + 1; $j == $n; $j++){

应该是

for ($i = 0; $i < $n - 1; $i++){
    for ($j = $i + 1; $j < $n; $j++){

因为 for 中的第二个参数是继续循环的要求。

关于php - 在 php 中对数字进行排序,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43410886/

相关文章:

python - 如何检查字节流中是否只有连续的1和0

java - 如何使用指数递归函数找到 x^63 的乘法次数以及如何证明它?

sorting - Lucene.NET - 按 int 排序

c# - 为什么默认的字符串比较器无法保持传递一致性?

java - ArrayList 排序无法正常工作

php - 我应该转换为 bool 值还是伪造 bool 值?

php - 无法将 slider 文本更改为 slider 标题

algorithm - 使用 BST 搜索算法查找一般二叉树中可以搜索的节点数

php - 使用 MYSQL 数据库数据加载 Javascript 数组

apache - 无法启用 php display_errors