Skip to content

基本排序算法

一、选择排序

js
function seletionSort(nums) {
    let len = nums.lenght;
    // 外排序:未排序区间未[i, n-1]
    for(let i = 0; i < len - 1; i++) {
        // 内循环:找到未排序区间的最小元素
        let k = i;
        for(let j = i + 1; j < n; j++) {
            if(nums[j] < numss[k]) {
                k = j; // 记录最小元素的索引
            }
        }
        // 交换最小元素
        [nums[i], nums[k]] = [nums[k], nums[i]]
    }
}

二、冒泡排序

js
function bubbleSort(nums) {
    // 外循环:未排序区间未[0,i]
    for(let i = nums.length - 1; i > 0; i--) {
        // 内循环:将未排序区间[0, i]中最大元素交换值该区间的最右端
        for(let j = 0; j < i; j++){
            if(nums[j] > nums[j + 1]) {
                // 交换nums[j]和nums[j+1]
                let temp = nums[j];
                nums[j] = nums[j + 1];
                nums[j + 1] = tmp;
            }
        }
    }
}