排序算法

225 阅读1分钟

冒泡排序

let array=[2,1,5,3,8,4,9,5];
function bubbleSort(arr){
    let len = arr.length;
    for(let i=0;i<len;i++){
        for(let j=0;j<len-1-i;j++){
            if(arr[j]>arr[j+1]){
                let temp=arr[j+1]
                arr[j+1]=arr[j]
                arr[j]=temp
            }
        }
    }
    return arr;
}
console.log(bubbleSort(array))

选择排序

let array=[2,1,5,3,8,4,9,5];
function selectionSort(arr){
    let len=arr.length;
    let minIndex;
    let temp;
    for(let i=0;i<len-1;i++){
        minIndex=i;
        for(let j=i+1;j<len;j++){
            if(arr[j]<arr[minIndex]){
                minIndex=j;
            }
        }
        temp=arr[i];
        arr[i]=arr[minIndex];
        arr[minIndex]=temp;
    }
    return arr
}
console.log(selectionSort(array))

插入排序

let array=[2,1,5,3,8,4,9,5];
function insertionSort(arr){
    let len=arr.length;
    let preIndex;
    let current;
    for(let i=1;i<len;i++){
        preIndex=i-1;
        current=arr[i];
        while(preIndex>=0&&arr[preIndex]>current){
            arr[preIndex+1]=arr[preIndex];
            preIndex--;
        }
        arr[preIndex+1]=current;
    }
    return arr;
}
console.log(insertionSort(array))