美文网首页我爱编程
使用冒泡排序对多级数据进行排序

使用冒泡排序对多级数据进行排序

作者: 氕氘氚0921 | 来源:发表于2018-04-08 17:38 被阅读8次

使用冒泡排序对三级数组进行排序,比如书的章节排序。
原始数据为:
["1.0.0", "10.1.1", "5.1.0", "3.0.0", "0.1.1", "14.1.0", "12.1.0", "20.0.0", "6.0.0"]
需要排序为:
["1.0.0", "3.0.0", "6.0.0", "20.0.0", "5.1.0", "12.1.0", "14.1.0", "0.1.1", "10.1.1"]

code:

function bubbleSort(arr) {
    var i = arr.length, j;
    var tempExchangVal;
    while (i > 0) {
        for (j = 0; j < i - 1; j++) {
            var info1 = arr[j];
            var p1 = info1.split(".")[2];
            var i1 = info1.split(".")[1];
            var f1 = info1.split(".")[0];

            var info2 = arr[j+1];
            var p2 = info2.split(".")[2];
            var i2 = info2.split(".")[1];
            var f2 = info2.split(".")[0];

            if (parseInt(p1) > parseInt(p2)) {
                tempExchangVal = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tempExchangVal;
            } else if (p1 === p2) {
                if (parseInt(i1) > parseInt(i2)) {
                    tempExchangVal = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = tempExchangVal;
                } else if (i1 === i2) {
                    if (parseInt(f1) > parseInt(f2)) {
                        tempExchangVal = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = tempExchangVal;
                    }
                }
            }
        }
        i--;
    }
    return arr;
}

使用该方法可以对多级数据结构进行排序。

相关文章

  • 使用冒泡排序对多级数据进行排序

    使用冒泡排序对三级数组进行排序,比如书的章节排序。原始数据为:["1.0.0", "10.1.1", "5.1.0...

  • 常用算法整理

    1、 对以下一组数据进行降序排序(冒泡排序)。 2、 对以下一组数据进行升序排序(选择排序)。 3、 快速排序算法...

  • 第2天

    题目:对10个数进行排序 分析:可以采用冒泡排序法,也可以使用选择排序法 程序1:冒泡排序法 #include i...

  • 学习算法第三天 —— 排序

    题目:对数组进行排序冒泡排序插入排序快速排序归并排序 题目 对一个数组进行排序,所有的方法: 冒泡排序 时间复杂度...

  • 数据结构与算法:排序算法

    一、冒泡排序 1.排序原理1)冒泡排序只会操作相邻的两个数据。2)对相邻两个数据进行比较,看是否满足大小关系要求,...

  • 排序算法之交换排序

    利用交换数据元素的位置进行排序的方法称为交换排序。常见的交换排序方法有冒泡排序和快速排序。 1. 冒泡排序 1.1...

  • topK的3种解法

    1)局部淘汰法 -- 借助“冒泡排序”获取TopK 思路: (1)可以避免对所有数据进行排序,只排序部分; (2)...

  • 冒泡排序

    一、思想 是一种交换排序,。对[l,h]范围内的数据逐步缩小排序范围进行h-l+1趟冒泡排序。每一趟冒泡排序要做的...

  • 排序算法篇_快速排序法

      快速排序(Quick Sort)法和冒泡排序法类似,都是基于交换排序思想的。快速排序对冒泡排序法进行了改进,从...

  • 交换排序

    交换排序主要有冒泡排序和快速排序 冒泡排序 对于一组包含n个数据的一组记录,最坏的情况下,冒泡排序需要进行n-1趟...

网友评论

    本文标题:使用冒泡排序对多级数据进行排序

    本文链接:https://www.haomeiwen.com/subject/qxjmhftx.html