JavaScript冒泡排序算法
算法描述
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的序列,一次比较相邻的两个元素,如果它们的顺序错误就将它们交换。遍历序列的工作是重复地进行直到没有再需要交换,也就是说该序列已经排序完成。
算法实现
JavaScript 代码
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { // 相邻元素对比
// 交换位置
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
示例说明:
下面我们来看一下冒泡排序的一个示例,假设我们有一个无序数组 arr
,元素为 [6,9,12,4,1,3]
,我们可以使用 bubbleSort
函数进行排序并打印结果。
var arr = [6,9,12,4,1,3];
console.log(bubbleSort(arr));
// 输出结果:[1, 3, 4, 6, 9, 12]
在上面的示例中,我们首先定义了一个无序数组 arr
,然后调用 bubbleSort
函数进行排序,在控制台打印输出排序结果。
算法分析
冒泡排序算法的时间复杂度是 $O(n^2)$。在最坏的情况下,需要进行 $n*(n-1)/2$ 次交换操作。当输入的数据已经是有序时(最好情况),则只需要进行一次遍历,时间复杂度为 $O(n)$。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js交换排序 冒泡排序算法(Javascript版) - Python技术站