冒泡排序(JS)

冒泡排序的一般实现示例:

var bubbleSort = function(nums) {
    var n = nums.length;
    for (var i = 0; i < n - 1; i++) {
        for (var j = 0; j < n - 1 - i; j++) {
            if (nums[j] > nums[j + 1]) {
                swap(nums, j, j + 1);
            }
        }
    }
};

// 1. 利用中间变量
var swap = function(nums, i, j) {
    var t = nums[i];
    nums[i] = nums[j];
    nums[j] = t;
};

// 2. 利用加法(可能越界)
var swap = function(nums, i, j) {    
    nums[j] = nums[i] + nums[j];
    nums[i] = nums[j] - nums[i];
    nums[j] = nums[j] - nums[i];
};