js交换排序 冒泡排序算法(Javascript版)_javascript技巧
程序员文章站
2022-03-30 08:33:25
...
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
function sort(elements){ for(var i=0;ielements[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)。
稳定性:稳定。
推荐阅读
-
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME_javascript技巧
-
JavaScript冒泡排序算法
-
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
-
JavaScript数组基于交换的排序示例【冒泡排序】
-
javascript实现-冒泡排序算法
-
JavaScript实现经典排序算法之冒泡排序
-
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
-
JavaScript算法(实例三)数组排序--冒泡排序 / sort() / reverse() / 比较函数
-
javascript算法学习(直接插入排序)_javascript技巧
-
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME_javascript技巧