JS实现插入排序法和选择排序法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS实现插入排序法和选择排序法相关的知识,希望对你有一定的参考价值。

  试着写了写,但对输出方式不太熟,所以注释部分的没能成功(我猜测是数据被覆盖了,所以最后运行结果都是‘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实现插入排序法和选择排序法的主要内容,如果未能解决你的问题,请参考以下文章

选择排序法

图解希尔排序的交换法和移位法

Js选择排序的问题。我这段代码,为何实现不了。

关于Java中的选择排序法和冒泡排序法

java12-6 冒泡排序法和选择排序法

冒泡法和选择排序法(比较容易写混)