• java实现快速排序


     1 package com.wangjj.quicksort;
     2 
     3 import java.util.Arrays;
     4 
     5 /**
     6  * 快速排序
     7  * @author Administrator
     8  *
     9  */
    10 public class QuickSort
    11 {
    12     public static void sort(int arr[],int low,int high)
    13     {
    14         int l = low;
    15         int h = high;
    16         int key = arr[low];
    17         //进行一趟快速排序,排序完结果,key左边的都比key小,key右边的都比key大
    18         while(l<h)
    19         {
    20             //数组从右往左进行
    21             for(;l<h;h--)
    22             {
    23                 //判断,发现比key小的进行交换,结束循环
    24                 if(key>arr[h])
    25                 {
    26                     //交换
    27                     arr[l] = arr[h];
    28                     arr[h] = key;
    29                     break;
    30                 }
    31             }
    32             //数组从左往右进行
    33             for(;l<h;l++)
    34             {
    35                 //判断,发现比key大的进行交换,结束循环
    36                 if(key<arr[l])
    37                 {
    38                     //交换
    39                     arr[h] = arr[l];
    40                     arr[l] = key;
    41                     break;
    42                 }
    43             }
    44         }
    45         //进行递归,递归结束条件为数组只有一个元素
    46         if(l>low)
    47         {
    48             sort(arr,low,l-1);
    49         }
    50         if(h<high)
    51         {
    52             sort(arr,h+1,high);
    53         }
    54     }
    55     
    56     public static void main(String[] args)
    57     {
    58         int[] arr ={9,8,7,6,5,4,4,3,2,1};
    59         sort(arr,0,9);
    60         System.out.println(Arrays.toString(arr));
    61     }
    62 }

    输出内容:[1, 2, 3, 4, 4, 5, 6, 7, 8, 9]
  • 相关阅读:
    HTTP状态码
    CentOS 7 上安装vim(默认未安装)
    yum安装提示Another app is currently holding the yum lock; waiting for it to exit...
    CentOS 7 安装telnet服务
    shell编程
    shell基础
    ssh相关命令
    ssh无密码连接
    centos7小命令
    日志管理
  • 原文地址:https://www.cnblogs.com/mkdlf/p/5961287.html
Copyright © 2020-2023  润新知