如何利用JavaScript实现排序算法浅析
作者:六叶草~
排序算法是笔试中经常出现的,提起排序算法就一定要提下算法复杂度和大O表示法,算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源,这篇文章主要给大家介绍了关于如何利用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。输出结果如下:
总结
到此这篇关于如何利用JavaScript实现排序算法的文章就介绍到这了,更多相关js实现排序算法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!