zoukankan      html  css  js  c++  java
  • 结构-行为-样式-Js排序算法之 快速排序

     快速排序算法,是我的算法系列博客中的第二个Js实现的算法,主要思路:    在一个数组中随机取一个数(一般都取第一个或者最后一个),使这个数与数组中其他数进行比较,如果比它大就放到它的右边,比它小就放到这个数的左边,依次递归调用直到比较队列中只有两个数。

     代码实现:

    var arrs = [23,85,61,37,55,12,63,11,99,39,70,21,23];
    function QuickSort(arr , s,e){
        var len = e;
        var token = arr[s];
        for(var i=s+1;i<=len;i++){
            var ttt = arr[i];
            if(token >= arr[i]){
                var temp = arr[i];
                for(var k = i;k>s;k--){
                    arr[k] = arr[k-1];
                }
                arr[s] = temp;
                s++;
            }
        }
        return s;
    }
    
    function sort(arrs,s,e){
        var t = QuickSort(arrs,s,e);
        if(t-1 >= s ){
            sort(arrs , s,t-1);
        }
        if(t+1 <= e){
            sort(arrs , t+1,e);
        }
    }
        
    sort(arrs,0,arrs.length);
    
    document.getElementById("app").innerHTML = arrs+"";

    注:代码可能还有可以优化的地方,欢迎吐槽!

    Code is read far more than it's written
  • 相关阅读:
    Tips:数据的单位
    PHP面向对象三大特性③
    PHP面向对象三大特性②
    PHP面向对象三大特性①
    PHP-初识面向对象
    C# 基础·算法篇
    C# 基础·常见面试
    C# 特殊处理使用方法
    C# 第三方组件使用
    JS 插件使用
  • 原文地址:https://www.cnblogs.com/ChickenTang/p/6151106.html
Copyright © 2011-2022 走看看