zoukankan      html  css  js  c++  java
  • 快速排序

    思路:

    1、从最右端开始找出小于基准数的数以及其位置

    2、从最左端出发找出大于其基准数的数以及其位置

    3、交换两个数

    4、交换基准数跟碰头数(最右端开始向前的标记等于最右端向后的标记)

    5、处理数组中所有小于基准数的数字

    7、处理数组中所有大于基准数的数字

    package DataStruct.Sort;
    
    import java.util.Arrays;
    
    public class QuickSort {
        public static void main(String[] args)
        {
            int arr[]=new int[]{-1,-2,-4,1,2,0,9};
            quickSort(arr,0,arr.length-1);
            System.out.println(Arrays.toString(arr));
        }
        public static  void quickSort(int []arr,int start,int end)
        {
            if (start<end)
            {
                //将数组中start位置(刚开始标准数位置为0)元素作为标准数
                int stard=arr[start];
                //记录需要排序的下标
                int low=start;
                int high=end;
                //找出比标准数大或小的数
                while(low<high)
                {
                    //从最右端开始找出小于基准数stard的数以及其所在位置high
                    while (low<high&&stard<=arr[high])
                    {
                        high--;
                    }
                    //从最左端开始找出大于基准数stard的数以及其所在位置low
                    while (low<high&&arr[low]<=stard)
                    {
                        low++;
                    }
                    //交换low跟high两个数
                    if (low<high)
                    {
                        int temp=arr[low];
                        arr[low]=arr[high];
                        arr[high]=temp;
                    }
    
                }
                //交换基准数跟碰头数(low=high时的数)
                arr[start]=arr[low];
                arr[low]=stard;
                //处理所有比标准数小的数字
                quickSort(arr,start,low);
                //处理所有比标准数大的数字
                quickSort(arr,low+1,end);
            }
    
        }
    
    }

     

  • 相关阅读:
    css 透明气泡效果
    uniapp 跳转tabbar页面传递参数
    unaipp 发送验证码倒计时
    uniapp 返回顶部
    js 实现放大镜效果
    js 禁用右键菜单和禁止复制
    js 表格的添加和删除操作
    js 留言板(带删除功能)
    推荐几个好用的网站
    pc端使用rem适配
  • 原文地址:https://www.cnblogs.com/dloading/p/10747058.html
Copyright © 2011-2022 走看看