Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php对数字进行排序,_Php_Algorithm_Sorting - Fatal编程技术网

用php对数字进行排序,

用php对数字进行排序,,php,algorithm,sorting,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] print_r将数组作为其原始顺序输出,为什么我的算法不重新排序数组 您应该检查中的

嗨,我在用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]

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

您应该检查
中的
循环:

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++){
($i=0;$i<$n-1;$i++)的
{
对于($j=$i+1;$j<$n;$j++){

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

如果($a[$i]>$a[$j]){
它永远不会进入
的内部。{
你检查了吗?你在说什么算法?!@Pedro Lobito Bubble Sortthanks dude,嗯,但是我认为($i=0;$i==n;$i++)有什么不对吗意思是“继续循环直到$i等于$n”我错了吗?是的,你错了,它真正的意思是“当$i等于$n时继续”,这从来都不是真的,所以它永远不会进入循环loop@MohamedKirafor循环不是这样工作的。您可以查看以了解更多信息。它真正的意思是“在$I等于$n时执行此循环”,但由于循环第一次处于“活动”状态,因此结果为false并将结束循环。@MohamedKira底线是,您需要在post;)之前调试代码一次。希望这对您有所帮助。
for ($i = 0; $i < $n - 1; $i++){
    for ($j = $i + 1; $j < $n; $j++){