如何利用JavaScript实现排序算法浅析
时间:2022-11-25 10:41:08|栏目:JavaScript代码|点击: 次
冒泡排序
冒泡排序就是重复从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置。
JavaScript代码实现:
代码简介:声明一个数组变量,通过while给数组变量赋值,当输入“#”时停止输入,然后遍历相邻的两个数,让相邻的两个数升序排列,遍历n-1次实现排序;
var a = Array(); flag=true; var i = 0; var j = 0; var temp = 0; while(flag){ var b = prompt("请输入第i个数字:"); if(b=="#"){ flag=false; }else{ a[i] = b; } i++; } s = a.length; for(j=0;j<s;j++){ console.log(a[j]); } for(j=1;j<s;j++){ for(i=0;i<s-j;i++){ if(a[i]>a[i+1]){ temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } } for(j=0;j<s;j++){ console.log("升序:",a[j]); }
输入3,4,2,8,6。输出结果如下:
选择排序
选择排序就是重复从待排序的数据中寻找最小值,将其与序列最左边的数字进行交换
JavaScript代码实现:
var a = Array(); flag=true; var i = 0; var j = 0; var temp = 0; while(flag){ var b = prompt("请输入第i个数字:"); if(b=="#"){ flag=false; }else{ a[i] = b; } i++; } s = a.length; for(j=0;j<s;j++){ console.log("数组:",a[j]); } for(i=0;i<s;i++){ for(j=0;j<s;j++){ if(a[i]>a[j]){ temp = a[j]; a[j] = a[i]; a[i] = temp; } } } for(j=s-1;j>=0;j--){ console.log("选择排序:",a[j]); }
插入排序
插入排序算法:通过构建有序数组元素的存储,对未排序的数组元素,在已排序的数组中从最后一个元素向第一个元素遍历,找到相应位置并插入。
js代码实现:
var flag = true; var a = new Array(); var i=0; while(flag){ var s = prompt('请输入一个数:'); if(s=='#'){ flag=false; }else{ a[i] = s; } i++; } console.log(a); for(var i=1;i<a.length;i++){ for(var j = i;j>0;j--){ if(a[j-1]>a[j]){ var temp = a[j-1]; a[j-1] = a[j]; a[j] = temp; } } } for(var i=0;i<a.length;i++){ console.log(a[i]); }
输入5,3,7,4,8,1,6。输出结果如下: