您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > javascript

Js实现冒泡排序、选择排序和插入排序

时间:2019-09-09 14:35:47  来源:  作者:

 

1.冒泡排序

描述: 两两比大小,换位置

时间复杂度:O(n²)

bubbleSort(arr) {
 for (var i = 0; i < arr.length - 1; i++) {
 	//每一次遍历,最大值都会被放在最后的位置,所以不用再判断最后两位,故:arr.length-1-i
 for (var j = 0; j < arr.length - 1 - i; j++) {
 if (arr[j] > arr[j + 1]) {
 var temp = arr[j];
 arr[j] = arr[j + 1];
 arr[j + 1] = temp;
 }
 }
 }
 return arr;
}

2.选择排序

描述: 将数组分为已排序和未排序。从未排序中找最小,放在已排序的最后。

时间复杂度:O(n²)

selectSort(arr) {
 var minIndex;
 for (var i = 0; i < array.length-1; i++) {
 var minIndex = i;
 for (var j = i+1; j < array.length; j++) {
 if (array[j] < array[minIndex]) //找到最小的数
 minIndex = j; //将最小数的索引保存
 }
 var temp = array[minIndex];
 array[minIndex] = array[i];
 array[i] = temp;
 }
 return array;
}

3.插入排序

描述: 将数组分为已排序和未排序。用未排序的每一个去对比已排序的元素,大于则放其后,小于则往前继续比较。

时间复杂度:O(n²)

insertSort(arr) {
 for (var i = 1; i < arr.length; i++) {
 var temp = arr[i];
 var j = i - 1; //默认已排序的元素
 while (j >= 0 && arr[j] > temp) { //在已排序好的队列中从后向前扫描
 arr[j + 1] = arr[j]; //已排序的元素大于新元素,将该元素移到一下个位置
 j--;
 }
 arr[j + 1] = temp;
 }
 return arr
}


Tags:冒泡排序   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
冒泡排序算法是依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经...【详细内容】
2020-05-03   冒泡排序  点击:(5)  评论:(0)  加入收藏
根据维基百科:冒泡排序又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进...【详细内容】
2019-12-09   冒泡排序  点击:(18)  评论:(0)  加入收藏
算法与数据结构构成了程序,数据结构用于实现数据的表示、存储、管理,算法通过使用数据完成一定的业务逻辑与操作,最终实现了程序的功能。因此算法在编程中的重要性是不言而喻的...【详细内容】
2019-10-30   冒泡排序  点击:(21)  评论:(0)  加入收藏
冒泡排序时间之所以效率低,就是因为将所有数都一视同仁不做区分挨个比较,这是最普通的做事方法,所以效率也是最普通的,时间复杂度为N的平方;而归并排序效率高,则是采用了分治的思...【详细内容】
2019-10-22   冒泡排序  点击:(15)  评论:(0)  加入收藏
1.冒泡排序描述: 两两比大小,换位置时间复杂度:O(n&sup2;)bubbleSort(arr) { for (var i = 0; i < arr.length - 1; i++) { //每一次遍历,最大值都会被放在最后的位置,所以不用...【详细内容】
2019-09-09   冒泡排序  点击:(29)  评论:(0)  加入收藏
直接上代码,下面演示的是从低到高排序,也可以新增参数DESC变成从高到低排序$mpArr = array(10,2,4,6,3,1,3,2,5,9,8,7); $mpArr = maopao($mpArr); print_r($mpArr); /** * *...【详细内容】
2019-09-05   冒泡排序  点击:(49)  评论:(0)  加入收藏
相关文章
最新更新
栏目热门
栏目头条