• 快速排序算法


    <!doctype html>
    <html lang="en">
    <head>
    <script>
    //快速排序
    var arr = [6,1,2,7,9,3,4,5,10,8];

    function quicksort(left,right){
    //var i,j,t,temp;//i表从左数,j从右数,t用于交换,temp放置要比较的数
    if(left>right){
    return;
    }
    temp = arr[left];
    i=left;
    j=right;
    while(i!=j){
    //顺序很重要,要先从右边开始找
    while(arr[j]>=temp&&i<j){
    j--
    }
    //再找右侧
    while(arr[i]<=temp&&i<j){
    i++;
    }
    //交换两个数在数组中的位置
    if(i<j){
    t=arr[i];
    arr[i]=arr[j];
    arr[j]=t;
    }
    }
    //最终将基准数归位
    arr[left]=arr[i];
    arr[i]=temp;

    quicksort(left,i-1);//继续处理左边的,这里是一个递归的过程
    quicksort(i+1,right);//继续处理右边的 ,这里是一个递归的过程
    }
    window.onload=function(){
    n = arr.length-1;
    quicksort(0,n);
    alert(arr);
    }
    </script>
    </head>
    <body>

    </body>
    </html>

  • 相关阅读:
    Spring 总结
    分布式缓存Memcache
    Docker原理 -- namespace与CGroup
    JDK源码分析--Collections
    React生命周期总结
    【转】前端优化的35条
    http缓存与cdn相关技术
    跨域处理
    sequekize
    orm2
  • 原文地址:https://www.cnblogs.com/MRASdoubleZ/p/8011419.html
Copyright © 2020-2023  润新知