zoukankan      html  css  js  c++  java
  • 基础排序算法

    排序算法

    交换数组元素

        function swap(arr, index1, index2) {
            var tmp = arr[index1];
            arr[index1] = arr[index2];
            arr[index2] = tmp;
        }
    

    冒泡排序

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

    选择排序

        function selectSort(arr) {
            if(arr.length <= 1) {return arr}
            var min;
            for(var i = 0; i < arr.length-1; i++) {
                min = i;
                for(var j = i+1; j < arr.length; j++) {
                    if(arr[min] < arr[j]) {
                        min = j
                    }
                    swap(arr, i, min)
                }
            }
            return arr;
        }
    

    插入排序

        function insertSort(arr) {
            if(arr.length <= 1) {return arr}
            var tmp, inner;
            for(var outer = 1; outer < arr.length; outer++) {
                temp = arr[outer];
                inner = outer;
                while(inner > 0 && (arr[inner-1] >= temp)) {
                    arr[inner] = arr[inner-1];
                    --inner;
                }
                arr[inner] = temp;
            } 
            return arr;
        }
    

    快速排序

        function qSort(arr) {
            if(arr.length == 0) {
                return [];
            }
            var lesser = [];
            var greater = [];
            var pivot = arr[0];
            for(var i = 0; i < arr.length; i++) {
                if(arr[i] < pivot) {
                    lesser.push(arr[i])
                } else {
                    greater.push(arr[i])
                }
            }
            return qSort(lesser).concat(pivot,qSort(greater));
        }
  • 相关阅读:
    微信开发 接口测试
    微信开发 消息接口
    java微信学习 接入
    排序算法 java实现2
    排序算法 java实现
    第一篇博客
    Android——反编译持续完善
    Android——实用小技巧
    Android——网络编程
    Android——服务
  • 原文地址:https://www.cnblogs.com/yfife/p/8595788.html
Copyright © 2011-2022 走看看