js--排序算法

来源:互联网 发布:java 线程池 获取队列 编辑:程序博客网 时间:2024/06/05 05:48

这里只列举了三种简单的,基本看一遍就懂~~

//1.冒泡排序:依次将最大的值放在最大的索引(从冒泡的字面意思就能理解)function bubbleSort(arr){    for(let i = arr.length - 1;i > 0;i--){        for(let j = 0;j<i;j++){            if(arr[j] > arr[j+1]){                let temp = arr[j];                arr[j] = arr[j+1];                arr[j+1] = temp;            };        };    };    return arr;};//2.选择排序:索引从小到大依次放入最小的值(感觉和冒泡正好相反)function selectSort(arr){    for(let i = 0;i < arr.length;i++){        var min = arr[i];        var index = i;        for(let j = i+1;j < arr.length;j++){            if(min > arr[j]){                min = arr[j];                index = j;            };        };        if(index != i){            var temp = arr[index];            arr[index] = arr[i];            arr[i] = temp;        };    };    return arr;};//3.插入排序:每次循环找到arr[i+1]的插入位置,使索引<=i+1的数组元素一直保持从小到大的顺序function insertionSort(arr){    for(var i=0;i < arr.length-1;i++){        var insert = arr[i+1];        var index = i+1;        for(var j = i;j >= 0;j--){            if(insert < arr[j]){                arr[j+1] = arr[j];                index = j;            };        };        arr[index] = insert;    };    return arr;};

如有建议请在评论中指出—I’m one noob.

原创粉丝点击