美文网首页
常见js排序算法(冒泡,快速,选择,插入)

常见js排序算法(冒泡,快速,选择,插入)

作者: web_afei | 来源:发表于2017-08-30 10:53 被阅读0次
    console.log("冒泡");
    var arr = [1,24,4,2,67,2124,43,2]
    var bubbleSort = function(arr){
        if(arr.length <= 1){
            return arr
        }
        var temp;
        for(var i = 0; i < arr.length-1 ;i++){
            for(var j = i+1; j<arr.length; j++){
                if(arr[i] > arr[j]){
                    temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        return console.log(arr);
    }
    bubbleSort(arr);
    
    console.log("快速")
    var quickSort = function(arr){
        if(arr.length <= 1){
            return arr
        };
        var left = [];
        var right = [];
        var pointIndex = Math.floor(arr.length/2);
        var point = arr.splice(pointIndex,1)[0];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] < point) {
                left.push(arr[i])
            }else {
                right.push(arr[i])
            }
        }
        return quickSort(left).concat([point],quickSort(right));
        
    }
    console.log(quickSort(arr))
    
    console.log("选择")
    var selectSort = function(arr){
        var index, min, temp;
        for (var i = 0; i < arr.length; i++) {
            index = i;
            min = arr[i];
            for (var j = i + 1; j < arr.length; j++) {
                if (arr[j] < min){
                    index = j;
                }
            }
            if(index != i){
                temp = arr[i];
                arr[i] = arr[index];
                arr[index] = temp;  
            }
        }
        return arr
    }
    console.log(selectSort([1,24,4,2,67,2124,43,2]));
    
    console.log("插入排序");
    var insert = function(arr){
        var index,insert;
        for(var i = 0; i<arr.length-1 ;i++){
            index = i + 1;
            insert = arr[i+1];
            for(var j = i; j >= 0 ;j--){
                if(arr[j] > insert){
                    arr[j+1] = arr[j]
                    index = j;
                }
            }
            arr[index] = insert;
        }
        return arr
    }
    console.log(insert([1,24,4,2,67,2124,43,2]))

相关文章

  • 排序算法

    常见的排序算法 常见的排序算法有:插入、希尔、选择、冒泡、归并、快速、堆排序。。。 插入排序 算法步骤一、从数组的...

  • 排序算法

    排序算法 冒泡排序 选择排序 插入排序 快速排序(最常见) 希尔排序 归并排序 源码:Sorting 冒泡排序 冒...

  • LeetCode大全

    1.常见排序算法: 常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、...

  • 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

    图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

  • Python知识点:常见算法的python实现

    提到排序算法,常见的有如下几种:冒泡排序、选择排序、插入排序、快速排序、堆排序、归并排序、希尔排序;查找算法最常见...

  • Python排序算法有哪几种?

    python排序算法有哪些?python中常见的排序算法有:插入排序、选择排序、冒泡排序、快速排序、归并排序、希尔...

  • 排序

    常见排序算法 冒泡排序 插入排序 选择排序 快速排序 归并排序 堆排序 桶排序 对数器 冒泡排序 基本思想:元素两...

  • 开发者应该掌握的几种排序算法

    该篇文章主要介绍了算法基础以及几种常见的排序算法:选择排序、插入排序、冒泡排序、快速排序、堆排序。 一、算法基础 ...

  • 2020前端面试(数据结构)

    常见排序算法 冒泡排序 快速排序 选择排序 插入排序 数组扁平化 递归 reduce toString 树的遍历 ...

  • PHP常用算法

    基于选择的排序算法 常见的基于选择的排序算法有:冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选在排序算...

网友评论

      本文标题:常见js排序算法(冒泡,快速,选择,插入)

      本文链接:https://www.haomeiwen.com/subject/wubzdxtx.html