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

    public class Quick { 
    /**主方法*/ 
    public static void main(String[] args) { 
        //声明数组 
        int[] nums = {27, 8, 100, 9, 23, 41, 65, 19,3,6, 0, 1, 2, 4, 5}; 
        //应用快速排序方法 
        quickSort(nums, 0, nums.length-1); 
        //显示排序后的数组 
        for(int i = 0; i < nums.length; ++i) { 
          System.out.print(nums[i] + ","); 
        } 
        System.out.println(""); 
    } 
    
    /**快速排序方法*/ 
    public static void quickSort(int[] a, int lo0, int hi0) { 
        int lo = lo0; 
        int hi = hi0; 
    
        if (lo >= hi) 
          return; 
    
        //确定指针方向的逻辑变量 
        boolean transfer=true; 
    
        while (lo != hi) { 
          if (a[lo] > a[hi]) { 
            //交换数字 
            int temp = a[lo]; 
            a[lo] = a[hi]; 
            a[hi] = temp; 
            //决定下标移动,还是上标移动 
            transfer = (transfer == true) ? false : true; 
          } 
    
          //将指针向前或者向后移动 
          if(transfer) 
            hi--; 
          else 
            lo++; 
    
          //显示每一次指针移动的数组数字的变化 
          /*for(int i = 0; i < a.length; ++i) { 
            System.out.print(a[i] + ","); 
          } 
          System.out.print(" (lo,hi) = " + "(" + lo + "," + hi + ")"); 
          System.out.println("");*/ 
        } 
    
        //将数组分开两半,确定每个数字的正确位置 
        lo--; 
        hi++; 
        quickSort(a, lo0, lo); 
        quickSort(a, hi, hi0); 
    } 
    }
  • 相关阅读:
    那些离不开的 Chrome 扩展插件
    Spring Boot 实战 —— 入门
    Maven 学习笔记
    Linux lvm 分区知识笔记
    Linux 双向 SSH 免密登录
    CentOS Yum 源搭建
    Ubuntu 系统学习
    iOS 测试三方 KIF 的那些事
    Swift 网络请求数据与解析
    iOS Plist 文件的 增 删 改
  • 原文地址:https://www.cnblogs.com/yzjT-mac/p/6257486.html
Copyright © 2011-2022 走看看