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的基础语法/排序算法。

时间: 2024-11-05 14:38:10

JS实现插入排序法和选择排序法的相关文章

常用排序法之一 ——冒泡排序法和选择排序法

语言中,常用的算法有:冒泡排序.快速排序.插入排序.选择排序.希尔排序.堆排序以及归并排序等等.那么从这篇开始,我将分别总结下这几种排序法. 先交代一下,我们将要排序的数组定义为arr[N],即数组arr[]包含N个元素. ## 冒泡排序法(Bubblesort) ## 所谓排序法,就是对一组无序的序列进行有序的排序(从大到小或者从小到大),那么什么叫冒泡排序法,冒泡排序法又是怎么实现数组的有序排列呢. 冒泡排序法的具体实现方法是这样的,从数组的第一个元素`arr[0]`开始,两两比较**(`a

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

1 #include<stdio.h> 2 3 4 //冒泡排序法 5 6 void bubbling(int a[],int n); 7 8 //选择排序法 9 void choose(int a[],int n); 10 int main() 11 { 12 int i; 13 int s[6]; 14 printf("please enter five numbers:\n"); 15 for(i=1;i<6;i++) 16 { 17 scanf("%

C语言实现冒泡排序法和选择排序法代码参考

为了易用,我编写排序函数,这和直接在主调函数中用是差不多的. 我认为选择排序法更好理解!请注意 i 和 j ,在写代码时别弄错了,不然很难找到错误! 冒泡排序法: void sort(int * ar,int k) //ar指向数组名,k是元素个数 { int i,j,temp; for(i = 0; i < k - 1; i++){ //比较k-1趟就可以了 for(j = 0; j < k - i -1; j++){ if(ar[j] > ar[j + 1]){ temp = ar[

简单排序的俩种思想——冒泡法和选择排序法

冒泡法: 基本思想:每次将相邻的两个数比较,将小的调到前头(即为升序排列).首先比较第一和第二两个数,小的调到前头,再将比完后的第二个数与第三个数比较,同理小的调到前头.如此比较下去.假设有6个数参与排序,则第一趟两两之间共比较5次,第一趟比完之后最大的数已经到底.然后进行第二趟比较,两两之间共比较4次,将次大数调到倒数第二个数的位置.共需比较5趟,5趟比完之后呈现升序排列. 总结规律:如果有n个数,则要进行n-1趟比较.在第一趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次比较.

基于python语言的经典排序法(冒泡法和选择排序法)

前 每逢周末就遇雨期,闲暇之余,捣鼓了下python,心心念想学习,今天就在电脑上装了个2.7,学习了下经典算法,冒泡与选择排序法 第一次写关于python的文章,说的不当之处,多多指正,我积极改正 在之前,曾写过使用java和C语言实现该两种排序法,详情见https://www.cnblogs.com/hong-fithing/p/7615907.html 搭建环境,准备工作就不冗余介绍了,网上搜罗一大堆 目录 冒泡排序法 选择排序法 冒泡排序法 冒泡类似于汽水现象,摇动一下,就有很多泡往上冒

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

1.冒泡排序法 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 分析: 第一次比较排序的结果:会把其中最大的数据排到最大的索引处 第二次比较排序后的结果:因为第一次已经把最大的一个数据放到了最大的索引的地方, 所以这次要进行比较的数据比数组里面的元素的数据个数-1个,而第二大的数据也会排到第二大的索引处 第三次比较排序的结果:跟第二次差不多,只是这次要进行比较的数据比数组里面的元素的数据个数还少了2个, 第四次:少3个.. 综上所述,要使数组里面的数据按照从小到大排序,总的比

php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法

这里我们介绍一些常用的排序方法,排序是一个程序员的基本功,所谓排序就是对一组数据,按照某个顺序排列的过程. 充效率看 冒泡排序法<选择排序法<插入排序法 排序分两大类: 内部排序法 交换式排序法 冒泡法 基本思想: 冒泡排序法 案例: 1234567891011121314151617181920212223242526 //简单的$arr=array(0,5,-1); //现在我们把函数毛片封装成函数,利用以后使用//数组默认传递的是值,不是地址,&是地址符function bubb

算法之旅 | 选择排序法

算法之旅 | 选择排序法 HTML5学堂-码匠:数据快速的计算与排序,与前端页面性能有直接的关系.由于排序的算法有很多,在本次"算法系列"的分享当中,我们先从简单易上手的选择排序法开始,其它的排序算法会随后陆续跟大家一起分享. 算法的基本概念 算法是什么,它有何作用 为解决一个问题而采取的方法和步骤,称为算法. 我们可以把算法看成一本"福字剪纸教程",其中每一种算法就是剪纸教程中的一种包含"固定步骤"的剪纸方法,使用者只要按照步骤进行剪纸,就可以

javascript选择排序法

选择排序原理: 1.第一次遍历中,找到最小的数组元素然后用第一个数组元素交换它. 2.第二次遍历中,找到第二小的数组元素然后用第二个数组元素交换它. 3.依次类推.如果包含N个元素,那么将在最多N-1次遍历之后完成排序. 示例: 示例结果显示: <!doctype html><html><head><meta charset="utf-8"><title>选择排序法</title><script> va