• 7.23 高博教育 快速排序


    package 课程;

    /**
    *
    * Title: ArraySort
    *
    * Description:
    * 数组:排序 二分查找
    * @version v0.01
    *
    * @author ByChai
    *
    * @date 2020年7月23日 上午8:57:09
    *
    *
    */
    public class 快速排序 {
    public static void main(String[] args) {

    int[] arr=new int[]{34,19,27,73,56};
    System.out.println("原数组");
    for (int i : arr) {
    System.out.print(i+" ");
    }
    //1.冒泡排序
    //注意下标
    /*for(int i=0;i<arr.length-1;i++) {
    for(int j=0;j<arr.length-1-i;j++) {
    //相邻比较
    //小前边 大后边
    if(arr[j]>arr[j+1]) {//交换
    int temp=arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;
    }
    }
    }*/
    //2.简单选择排序
    /*for(int i=0;i<arr.length;i++) {
    int k=i;//表示最小值索引
    for(int j=k+1;j<arr.length;j++) {
    if(arr[k]>arr[j]) {
    k=j;
    }
    }
    if(k!=i) {
    int temp=arr[i];
    arr[i]=arr[k];
    arr[k]=temp;
    }
    }*/
    quickSort(arr, 0,arr.length-1);

    System.out.println();
    //遍历
    System.out.println("排序后");
    for (int i : arr) {
    System.out.print(i+" ");
    }
    }
    public static void quickSort(int[] arr,int start,int end) {
    if(start<end) {
    int low=start;//低位下标
    int height=end;//高位下标
    int key=arr[start];//基准
    while(height>low){
    while(height>low&&arr[height]>=key) {
    height--;
    }
    if(arr[height]<=key) {//arr[height] 比key小
    //放到low区
    int temp=arr[height];
    arr[height]=arr[low];
    arr[low]=temp;
    }
    while(height>low&&arr[low]<=key) {
    low++;
    }
    if(arr[low]>key) {
    int temp=arr[low];
    arr[low]=arr[height];
    arr[height]=temp;
    }
    }
    quickSort(arr, start, low-1);//小区数组
    quickSort(arr, height+1, end);//大区数组
    }
    }
    }

    快速排序在排序笔试中占很大概率

  • 相关阅读:
    02_Python基础
    python 学习网站
    Docker搭建MySQL服务
    Ubuntu源、Python虚拟环境及pip源配置
    Ubuntu18.04完全卸载mysql5.7并安装mysql8.0的安装方法
    MySQL 数据库
    数据库连接池
    ssm整合开发的相关步骤和增删改查
    Springmvc执行流程
    资源映射之----在springmvc中如何访问WEB-INF目录下的文件和系统文件夹中的文件
  • 原文地址:https://www.cnblogs.com/Guang09/p/13364639.html
Copyright © 2020-2023  润新知