1. 程式人生 > >JS實現插入排序法和選擇排序法

JS實現插入排序法和選擇排序法

排序算法 ble inner 基本算法 出了 clas 一點 暫時 while

  試著寫了寫,但對輸出方式不太熟,所以註釋部分的沒能成功(我猜測是數據被覆蓋了,所以最後運行結果都是‘6‘),或許不能用innerHTML來進行輸出,暫時不管了,改天再研究研究JavaScript的輸出方式。

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4     <meta charset="utf-8">
 5 </head>
 6 
 7 <body>
 8     <!--p id = "x"></p-->
 9     <button onclick 
= "insertSort()">插入排序</button> 10 <!--p id = "y"></p--> 11 <button onclick = "selectionSort()">選擇排序</button> 12 <!--p id = "z"></p--> 13 <button onclick = "bubbleSort()">冒泡排序</button> 14 15 <script> 16 function
insertSort() { // 插排法 17 //var X = document.getElementById("x"); 18 var temp; 19 array = [5, 6, 3, 1, 2, 4]; 20 21 for(var i = 1; i < array.length; i++) { 22 temp = array[i]; 23 var j = i - 1; 24 while
(j >= 0 && array[j] > temp) { 25 array[j + 1] = array[j]; 26 j--; 27 } 28 array[j + 1] = temp; 29 } 30 for(i = 0; i < array.length; i++) { 31 //X.innerHTML = array[i] + ‘ ‘; 32 document.write(array[i] + ); 33 } 34 } 35 36 function selectionSort() { // 選擇排序 37 //var Y = document.getElementById("y"); 38 var temp; 39 array = [5, 6, 3, 1, 2, 4]; 40 41 for(var i = 0; i < array.length; i++) { 42 for(var j = i + 1; j < array.length; j++) { 43 if(array[i] > array[j]) 44 { 45 temp = array[i]; 46 array[i] = array[j]; 47 array[j] = temp; 48 } 49 } 50 } 51 for(i = 0; i < array.length; i++) { 52 //Y.innerHTML = array[i] + ‘ ‘; 53 document.write(array[i] + ); 54 } 55 } 56 57 function bubbleSort() { 58 //var Z = document.getElementById("z"); 59 var temp; 60 array = [5, 6, 3, 1, 2, 4]; 61 62 for(var i = 1; i < array.length; i++) { 63 for(var j = 0; j < array.length - i; j++) { 64 if(array[j] > array[j + 1]) 65 { 66 temp = array[j + 1]; 67 array[j + 1] = array[j]; 68 array[j] = temp; 69 } 70 } 71 } 72 for(i = 0; i < array.length; i++) { 73 //Z.innerHTML = array[i] + ‘ ‘; 74 document.write(array[i] + ); 75 } 76 } 77 </script> 78 79 </body> 80 </html>

  寫出了C的感覺...算法就是基本算法,並不難,僅為了了解一點JS的基礎語法/排序算法。

JS實現插入排序法和選擇排序法