栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

快速排序(java代码实现)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

快速排序(java代码实现)

快速排序 思路
  1. 设置两个指针,

    一个左指针,初始化指向数组的第一个位置(最左边的数),向右一个个遍历

    一个右指针,初始化指向数组的最后一个位置(最右边的数),向左一个个遍历

  2. 设置最左边的数为基准位,目的是用来做参照,

  3. 因为此处设置的基准数是最左边的数,所以需要让右指针先出动,向左一个个遍历(r–),找到比基准位小的数停下来

  4. 再让左指针出动,向右一个个遍历(l++),找到比基准位大的数停下来

  5. 现在比较两个指针指的数的大小,若左指针的数大于右指针,则做交换;否则继续重复2,3操作;

  6. 直到两指针相遇,若相遇位置的数小于基准位,则做交换;否则不交换;

  7. 此时的基准位的数已归位,但并不能确保基准位左右两边的各个子数组是有序的,所以需要迭代次方法

    左边迭代sort(arr, left, r-1);

    右边迭代sort(arr, r+1, right);

代码
public static void sort(int[] arr,int left,int right){
        int l,r,temp,t;
        if(left>right){
            return;
        }
        l=left;
        r=right;
        //temp就是基准位
        temp = arr[left];

        while (l=arr[l]&&l
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/672437.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号