我在Java中有一個代碼,它的工作原理非常完美,但是轉換爲JavaScript的代碼會引發錯誤。該希爾排序方法傳遞一個數組的方法(我使用控制檯調試)我的代碼是:Shell Sort不能在JavaScript上工作
this.shellSort = function(nums)
{
//O contador de tempo inicia aqui
var tempoSS = new Date();
var n = nums.length;
console.log("n = ",n);
var h = n/2;
console.log("h = ",h);
var c, j;
while (h > 0)
{
for (var i = h; i < n; i++)
{
c = nums[i];
j = i;
while (j >= h && nums[j - h] > c)
{
nums[j] = nums[j - h];
console.log("nums["+j+"] = ",nums[j]);
j = j - h;
console.log("j = ",j);
}
nums[j] = c;
console.log("nums["+j+"] = ",nums[j]);
}
h = h/2;
console.log("h = ",h);
}
被捕獲的錯誤是-- [13:52:59.581] ReferenceError: reference to undefined property nums[(j - h)] @ file:///C:/Documents%20and%20Settings/erickribeiro/Desktop/www/index.html:240
測試頁:dev.erickribeiro。 com.br/index.html
完整的腳本是html頁面。 有什麼不對?
我希望這是要實現這項運動。出於任何實際目的,沒有理由不使用本地JavaScript「排序」方法。 – aaaaaaaaaaaa
是的,這是對我的學院朋友的敬意。她搬到了俄羅斯,我將向她展示我們的工作轉換爲JavaScript:D。我保留了我們工作中使用的註釋/註釋和變量名稱。 –