我基本上是試圖通過將數字到正確的位置進行排序號在飛行中的輸入(不是100%肯定,但是這應該是插入排序)。我的理解是,要在javascript中插入數組,您需要使用數組拼接方法http://www.w3schools.com/jsref/jsref_splice.asp。JavaScript數組拼接導致內存不足異常?
我實現我的目標的企圖代碼如下:
var N = parseInt(readline());
var powers = [0];
for (var i = 0; i < N; i++) {
var pi = parseInt(readline());
for(var j=i;j<powers.length; j++){
if(powers[j]>pi){
powers.splice(j,0,pi);
}
else if(j+1==powers.length){
powers[j+1]=pi;
}
}
}
當我運行這段代碼,我得到一個內存不足的異常。我只是想了解是我在上面的代碼中做錯了什麼。如果我使用拼接方法錯誤,並且它是內存泄漏的原因,那麼底層實際發生了什麼? 我知道還有其他的方法可以做這種排序,但我特別感興趣的是使用javascript數組進行插入排序。
開始無論你使用的環境,肯定有很多可用了一個調試器。例如,所有主要的Web瀏覽器都內置了全功能的調試器.NodeJS有幾個可用的,其中之一是'node-inspector'。我建議中斷你正在做的事情,並學習如何使用該調試器逐個聲明代碼,這樣你就可以看到代碼是如何運行的。沒有什麼更多的信息可以確切地看你的代碼如何運行。 –