首页 > 其他分享 >快速排序

快速排序

时间:2023-02-25 18:55:52浏览次数:44  
标签:枢轴 int high pivotpos low pivot 排序 快速

class QuickSort{

    int partition(int[] a,int low,int high){
        int pivot = a[low]; //第一个元素作为枢轴
        while (low < high){ //用low、high搜索枢轴的位置
            while (low < high && a[high] >= pivot)
                high--;
            a[low] = a[high];//比枢轴小的元素移动到左端
            while (low < high && a[low] < pivot)
                low++;
            a[high] = a[low];//比枢轴大的元素移动到右端
        }
        a[low] = pivot;//枢轴元素放到最终位置
        return low;
    }
    public void sort(int[] a,int low,int high){
        
        if (low < high)//递归跳出的条件
        {
            int pivotpos = partition(a,low,high);//划分
            sort(a,low,pivotpos-1);//划分左子表
            sort(a,pivotpos+1,high);//划分右子表
        }
    }
}

 

标签:枢轴,int,high,pivotpos,low,pivot,排序,快速
From: https://www.cnblogs.com/jixian/p/17155043.html

相关文章

  • 希尔排序
    //希尔排序classShellSort{publicvoidsort(int[]a){intd,i,j,temp;for(d=a.length/2;d>=1;d=d/2){for(i=d;i<......
  • 冒泡排序
    //冒泡排序classBubbleSort{publicvoidsort(int[]a){for(inti=0;i<a.length-1;i++){booleanflag=false;for......
  • 插入排序
    //插入排序classInsertSort{publicvoidsort(int[]a){inti,j,temp;for(i=1;i<a.length;i++){if(a[i]<a[i-1]){......
  • [专题总结]Gridea快速免费搭建个人博客
    介绍或许你很想把你所知道的问题写出来,或许你文思泉涌,想给大家分享。我相信,你一定能写好博客,只要坚持,就可以了。或许大家会不理解,为什么不用大平台的博客呢?或许你稍微了......
  • 【基础算法】简单排序-选择排序
    【基础算法】简单排序-选择排序将待排序数组分成有序部分和无序部分,无序部分初始长度为0,每次遍历有序部分,找到有序部分最小(最大)的数,和无序部分第一个数进行交换,使其变成有......
  • set的自定义排序
    看下面的代码就好了structcmp{ booloperator()(constpair<int,int>&a,constpair<int,int>&b)const{ intlena=a.second-a.first+1; intlenb=b.second-b.firs......
  • 持久化_AOF 与Jedis_快速入门
    持久化_AOF1.AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据 1.编辑redis.windwos.conf文件 ......
  • Java负载均衡简介及快速入门并实战(有源码)
    Java负载均衡是什么?将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上执行服务端:服务提供端,比如nginx负载均衡客户端:服务请求方,在发送请求之前已经选好了由哪个......
  • Java排序算法简介
    一、Java排序算法什么是排序算法排序算法是一种计算机算法,用于将一组数据按特定顺序排列。它们可以根据一个或多个关键字对数据进行排序,以便更容易查找和比较。常见的......
  • Pytorch快速使用手册 02张量操作
    importosimporttqdmimporttorchimportrandomimportshutilimportnumpyasnp2TenosrOperation2.1Baseinformationoftensortensor=torch.rand([2,5]......