js交换排序 冒泡排序算法(Javascript版)_javascript技巧

比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

function sort(elements){
 for(var i=0;i<elements.length-1;i++){
  for(var j=0;j<elements.length-i-1;j++){
   if(elements[j]>elements[j+1]){
    var swap=elements[j];
    elements[j]=elements[j+1];
    elements[j+1]=swap;
   }
  }
 }
}

var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8];
console.log('before: ' + elements);
sort(elements);
console.log(' after: ' + elements);

效率:

时间复杂度:最好:O(n),最坏:O(n^2),平均:O(n^2)。

空间复杂度:O(1)。

稳定性:稳定。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索交换排序
javascript冒泡排序、javascript冒泡排序法、冒泡排序算法、c语言冒泡排序算法、php 冒泡排序算法,以便于您获取更多的相关知识。

时间: 2024-09-23 00:36:03

js交换排序 冒泡排序算法(Javascript版)_javascript技巧的相关文章

琥珀无限级联动菜单-JavaScript版_javascript技巧

琥珀网 - javascript无限级联动菜单 琥珀无限级联动菜单-JavaScript版 [HPMenu V1.0] 所 在 洲: -----请选择-----欧洲亚洲非洲大洋洲北美洲南美洲 国 家: -----请选择----- 城 市: -----请选择----- 地 区: -----请选择-----   下载地址:请点击这里 在线Demo:请点击这里 Bug 反馈:请点击这里 联系方式:MSN:hopesoft@msn.com   copyright(c) 2005 Hopesoft Stu

省市区三级联动下拉框菜单javascript版_javascript技巧

实现省市区三级下拉列表框,并且要实现联动效果. 方法一: 1.视图代码 <select class="prov" id="prov5" name="Province" data-code="@Model.Province"> </select> <select class="city" id="city5" name="City" dat

js tab效果代码增强版_javascript技巧

热门图片   波希米亚   红色黑客       正在加载... [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 本人在它的基础上添加的内容控制的效果 复制代码 代码如下: <script type="text/javascript"> function $(objName) {     if(document.getElementById)     {         return document.getElementById(objName );     

JS暴虐查找法简洁版_javascript技巧

       例如在一个含500个字符串的data数组里,我们想要找到一个指定的字符(key),返回它的数组下标,如果用这样的算法: function usual_search(data,key) {    var m=data.length    for(i=0;i<m;i++)    {if(data[i]==key)return i} } 由于需要做多次的比较,运算起来会相当的慢.         本主题要介绍的是一种充分利用Jscript内置方法来实现在数组中查找数据的方法,由于借助Js

JS实现随机数生成算法示例代码_javascript技巧

1: 复制代码 代码如下: var MT = []; var index = 0; function initialize_generator(seed) { MT[0] = seed; for (var i = 1; i < 624; i++) { MT[i] = 0xffffffff & (0x6c078965 * (MT[i - 1] ^ (MT[i - 1] >> 30)) + i); } } function generate_numbers() { for (var

Email地址加密javascript版_javascript技巧

Email地址加密 Email:         结 果:

自动生成文章摘要[JavaScript 版本]_javascript技巧

[input] truncate as charactors ; 这位是娃娃,他是我弟弟.是一只很酷又非常可爱的小狗. 他今年已经两岁了,虽然个头很小,但是气势一点也不逊色大狗.非常敢于同恶势力作斗争 娃娃的显著特点就是可爱,尤其是把耳朵背在后面的时候显得特别可爱,仿佛一只乖巧的小猫咪.他还会站起来跳舞,比如你要给他什么好吃的时候他就会这样做.毕竟这是他的一种赖以谋生的工作方式,这年头,不会点技术能有饭吃吗. 他还有一个特点就是很酷,尽管我们是兄弟,但是他从来没有巴结我们人类的臭毛病.午后,当灿

js的各种排序算法实现(总结)_javascript技巧

如下所示: // ---------- 一些排序算法 var Sort = {} Sort.prototype = { // 利用sort进行排序 systemSort:function(array){ return array.sort(function(a, b){ return a - b; }); }, // 冒泡排序 bubbleSort:function(array){ var i = 0, len = array.length, j, d; for(; i<len; i++){ f

JavaScript实现的MD5算法完整实例_javascript技巧

本文实例讲述了JavaScript实现MD5算法的方法.分享给大家供大家参考,具体如下: /** * * MD5 (Message-Digest Algorithm) * http://www.webtoolkit.info/ * **/ var MD5 = function (string) { function RotateLeft(lValue, iShiftBits) { return (lValue<<iShiftBits) | (lValue>>>(32-iShi