快速排序

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了快速排序脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

快速排序  

  快排的思路:找到一个基准数,把大于基准数的数字放在基准数的右边部分,小于基准数的放在左边部分;排完后,再对左边部分和右边部分分别进行上述操作,递归下去,直到子序只剩下一个数字。

  其中快排的时间复杂度为O(nlogn),空间复杂度为O(nlogn),但算法相对不稳定。

function quicksort(arr,left,right) {
    var i = left;
    var j = right;
    var temp = arr[left];    //保存基准数
    if(left>=right) return ;
    while(i!=j){
        while(i<j&&arr[j]>=temp){
            j--;
        }
        if(i<j){
            arr[i]=arr[j];
        }
        while(i<j&&arr[i]<=temp){
            i++;
        }
        if(i<j){
            arr[j]=arr[i];
        }
    }
    arr[i]=temp;
    quicksort(arr,left,i-1);
    quicksort(arr,i+1,right);
}
var arr = [8,2,6,12,1,9,5,5,10];
quicksort(arr,0,8);
alert(arr); 

脚本宝典总结

以上是脚本宝典为你收集整理的快速排序全部内容,希望文章能够帮你解决快速排序所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: