亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

冒泡排序為什么只對我的數字進行一半排序?JS 和 HTML

冒泡排序為什么只對我的數字進行一半排序?JS 和 HTML

開滿天機 2023-12-14 14:49:55
我正在通過冒泡排序對 30 個隨機生成的數字進行排序,由于某種原因,它們從 15 排序到 29,但它們仍然沒有從 0 到 14 排序。這就像排序由于某種原因停止一樣。我的嘗試是將 i++ 更改為 i-- 但并沒有真正起作用。有誰知道循環中出了什么問題謝謝JavaScript:arr =new Array(30);var length = arr.length;function randomNumber(min,max){    var min = Math.ceil(min);    var max = Math.floor (max);        for(var i = 0; i<length; i++){            arr[i] = Math.floor(Math.random() * (max-min)) + min;            document.write("Number " +(i)+ " : "   +arr[i] + "<br >"); }    for (var i = 0; i < arr.length; i++) {       for (var j = 0; j < arr.length; j++) {                 if (arr[j] > arr[j + 1]){          //Swap the numbers         var tmp = arr[j];           arr[j] = arr[j + 1];         arr[j + 1] = tmp; //Replace adjacent number with current number               //[[arr[j],arr[j+1]] = [arr[j+1], arr[j]]];} }      document.write("Number " +(i)+ " : "   +arr[i] + "<br >"); }    return arr;}HTML調用該方法:                            <script>                                                                   randomNumber(1,1000);                            </script> 以下是代碼的輸出:隨機數冒泡排序
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

不要打印循環內的數組。排序過程尚未完成。將寫入命令移到其后面。


for (var i = 0; i < arr.length; i++) { 

    for (var j = 0; j < arr.length; j++) { 

        if (arr[j] > arr[j + 1]) {

            var tmp = arr[j]; 

            arr[j] = arr[j + 1]; 

            arr[j + 1] = tmp; 

        }

    }

}

for (var i = 0; i<length; i++) {

    document.write("Number " +(i)+ " : "   +arr[i] + "<br >");     

}

它應該給你正確的答案。


查看完整回答
反對 回復 2023-12-14
  • 1 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號