Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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
Javascript 选择排序算法不工作…警告…I';我是个新手_Javascript_Algorithm_Selection - Fatal编程技术网

Javascript 选择排序算法不工作…警告…I';我是个新手

Javascript 选择排序算法不工作…警告…I';我是个新手,javascript,algorithm,selection,Javascript,Algorithm,Selection,我的算法不起作用,我对所有的算法和javascript都是新手,我只是不知道为什么它不起作用 这是数组(23、19、35、12、30) 最大值=0 这是我所拥有的 For K= 0 to n – 2 MAX = 0 For j = 0 to n – k - 2 If item[j] > item[MAX] MAX = item[j]

我的算法不起作用,我对所有的算法和javascript都是新手,我只是不知道为什么它不起作用

这是数组(23、19、35、12、30)

最大值=0

这是我所拥有的

For K= 0 to n – 2 

  MAX = 0

      For j = 0 to n – k - 2

                         If item[j] > item[MAX]
                         MAX = item[j] 

                  end if
          end for 
      swap n - k - 2 with item[MAX] 
   end for
end SelectionSort
我哪里出错了?谢谢

此外,如果有人能告诉我如何在跟踪表中使用它,我会非常高兴

问候
Craig在这个表达式中使用max会导致问题项[max],它将是j。请考虑一下,然后像这样重试,选择排序

var-arr=新数组(23,19,35,12,30);
温度=0;
对于(k=0;karr[j])
{
温度=arr[k];
arr[k]=arr[j];
arr[j]=温度;
}
}
}
对于(k=0;k
我相信您的代码中有一些错误。首先,两个位置的上限都应该是n-k-1,而不是n-k-2(这样,如果索引为n-k-1的元素已经是最大值,就不会移动它)。此外,您还应将项[n-k-1]与项[MAX](而不是您所写的索引)交换。我相信这样做应该会奏效:

 For K= 0 to n – 1 
   MAX = 0
   For j = 0 to n – k - 1
      If item[j] > item[MAX]
        MAX = item[j] 
      end if
   end for 
   swap item[n - k - 1] with item[MAX] 
  end for
end SelectionSort

如果这是家庭作业,你应该给它贴上这样的标签。对不起,我也是堆栈溢出的新手。这是咖啡脚本吗?还是伪代码?伪代码,我不知道还有哪一个是有效的,你能把它显示为伪代码吗?。。。这样我就可以把它放到跟踪表中并理解它了?我希望这会对你有所帮助,所以如果我把它放到跟踪表中,并对它进行测试,我会怎么做呢?对不起,我是一个完全的算法新手,我真的无法理解它们。
 For K= 0 to n – 1 
   MAX = 0
   For j = 0 to n – k - 1
      If item[j] > item[MAX]
        MAX = item[j] 
      end if
   end for 
   swap item[n - k - 1] with item[MAX] 
  end for
end SelectionSort