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

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

作者: 氕氘氚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;
    }
    

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

    相关文章

      网友评论

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

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