资讯专栏INFORMATION COLUMN

js 冒泡算法

mcterry / 420人阅读

摘要:排序算法时间复杂度两两比较相邻的排序码发生逆序则交换两种方式,小的冒泡到前面去,大的冒泡到后面去第一版比较两个相邻的数值大小,小的冒泡到前面去第二版比较两个相邻的数值大小,小的冒泡到前面去

// 排序算法 时间复杂度o(n^2);
// 两两比较相邻的排序码;发生逆序则交换;
// 两种方式, 小的冒泡到前面去, 大的冒泡到后面去;

第一版
const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];

function bubbleSore(arr) {

let len = arr.length;
for (let i = 0; i < len - 1; i++) {
    for(let j = 0; j < len; j++) {
        if (arr[j] > arr[j + 1]) {
            // 比较两个相邻的数值大小,小的冒泡到前面去
            let temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}
return arr;

}

console.log(bubbleSore(arr));

第二版
function swap(arr, indexA, indexB) {

return [arr[indexA], arr[indexB]] = [arr[indexB], arr[indexA]];

}

function bubbleSore(arr) {

let len = arr.length;
for (let i = 0; i < len - 1; i++) {
    for(let j = 0; j < len; j++) {
        if (arr[j] > arr[j + 1]) {
            // 比较两个相邻的数值大小,小的冒泡到前面去
            swap(arr, j, j+1);
        }
    }
}
return arr;

}

const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];
console.log(bubbleSore(arr));

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101324.html

相关文章

  • 排序算法分析总结(附js实现)

    摘要:本文对一些排序算法进行了简单分析,并给出了的代码实现。平均时间复杂度不好分析,它是冒泡排序是稳定的排序算法。冒泡排序是原地排序算法原地排序指的是空间复杂度是的排序算法。归并排序,会将数组从中间分成左右两部分。 本文对一些排序算法进行了简单分析,并给出了 javascript 的代码实现。因为本文包含了大量的排序算法,所以分析不会非常详细,适合有对排序算法有一定了解的同学。本文内容其实不...

    liaoyg8023 评论0 收藏0
  • js数值排序中冒泡算法的4种简单实现

    摘要:实现数组排序的算法很多其中冒泡算法是比较简单的冒泡的基本原理是相邻的两个数进行比较按照排序的条件进行互换例如对数值从小到大排序随着不断的互换最大的那个值会慢慢冒泡到数组的末端基于这个原理我们就可以写冒泡排序了为了简单起见下面的例子都是对数值 实现数组排序的算法很多,其中冒泡算法是比较简单的冒泡的基本原理是相邻的两个数进行比较,按照排序的条件进行互换,例如对数值从小到大排序,随着不断的互...

    wean 评论0 收藏0
  • js数值排序中冒泡算法的4种简单实现

    摘要:实现数组排序的算法很多其中冒泡算法是比较简单的冒泡的基本原理是相邻的两个数进行比较按照排序的条件进行互换例如对数值从小到大排序随着不断的互换最大的那个值会慢慢冒泡到数组的末端基于这个原理我们就可以写冒泡排序了为了简单起见下面的例子都是对数值 实现数组排序的算法很多,其中冒泡算法是比较简单的冒泡的基本原理是相邻的两个数进行比较,按照排序的条件进行互换,例如对数值从小到大排序,随着不断的互...

    zacklee 评论0 收藏0
  • js数值排序中冒泡算法的4种简单实现

    摘要:实现数组排序的算法很多其中冒泡算法是比较简单的冒泡的基本原理是相邻的两个数进行比较按照排序的条件进行互换例如对数值从小到大排序随着不断的互换最大的那个值会慢慢冒泡到数组的末端基于这个原理我们就可以写冒泡排序了为了简单起见下面的例子都是对数值 实现数组排序的算法很多,其中冒泡算法是比较简单的冒泡的基本原理是相邻的两个数进行比较,按照排序的条件进行互换,例如对数值从小到大排序,随着不断的互...

    zzzmh 评论0 收藏0
  • 使用JS实现三种基本的排序算法以及三种算法的比较

    摘要:介绍排序算法是算法中最常见的算法之一,我这里要介绍的是排序算法中的三种基本算法冒泡排序选择排序插入排序,在文章的后面我会对三种算法的速度进行对比。 1.介绍 排序算法是算法中最常见的算法之一,我这里要介绍的是排序算法中的三种基本算法:冒泡排序、选择排序、插入排序,在文章的后面我会对三种算法的速度进行对比。 2.冒泡排序 冒泡排序其名来源与其算法实现,会使得数组中的元素一个个从数组一端漂...

    wh469012917 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<