分享下JavaScript的数组排序,及冒泡排序的分析思路

排序

定义一个数组
// var arr = [4, 7, 6, 12, 3, 102, 2];

// // 默认是升序
// // arr.sort().reverse();
// arr.sort(function (a, b) {
//     if(a > b) {
//         return 1;
//     } else {
//         return - 1;
//     }
// });

// console.log(arr);


// 排序算法
// 冒泡排序
// var arr = [14, 12, 7, 5, 8];


    分析:
    1.1:[12, 14, 7, 5, 8]
    1.2:[12, 7, 14, 5, 8]
    1.3:[12, 7, 5, 14, 8]
    1.4:[12, 7, 5, 8, 14]

    2.1:[7, 12, 5, 8, 14]
    2.2:[7, 5, 12, 8, 14]
    2.3:[7, 5, 8, 12, 14]

    3.1:[5, 7, 8, 12, 14]
    3.2:[5, 7, 8, 12, 14]

    4.1:[5, 7, 8, 12, 14]
*/

// 常见的数据结构
// 列表、二叉查找树、栈、队列、链表、图、字典(对象)、哈希

// 外层for循环确定比较的轮数
/*for(var i = 1; i<arr.length; i++) {
    // 内层循环确定步数
    for(var j = 0; j< arr.length - i; j++) {
        // 如果当前值大于后面的值,则交换位置
        if(arr[j] > arr[j + 1]) {
            var temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}


posted @ 2018-04-01 19:57  温柔一刀Trend  阅读(113)  评论(0编辑  收藏  举报