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

    快速排序是对冒泡排序的一种改进。

     1 import java.util.Random;
     2 
     3 public class MyQuickSort {
     4 
     5     //快速排序--啊哈算法
     6     public static void main(String[] args) {
     7         Random random = new Random();
     8         int num[] = new int[10];
     9         for (int i = 0; i < 10; i++) {
    10             num[i] = random.nextInt(100);
    11         }
    12         quickSort(num, 0, num.length - 1);
    13         for (int i = 0; i < num.length; i++) {
    14             System.out.print(num[i] + " ");
    15         }
    16     }
    17 
    18     private static void quickSort(int arr[], int low, int high) {
    19         //判断终止的条件在递归函数中很重要
    20         //这里的大于等于的大于有什么区别??
    21         if (low >= high) return;
    22         int base = arr[low];    //基准数
    23         int i = low;
    24         int j = high;
    25         while (i < j) {
    26             /*
    27             先从右边开始找起,很重要
    28             从右边找小于基准数的元素,从左边找大于基准数的元素,然后交换二者;
    29              */
    30             //这里的大于等于的大于有什么区别??
    31             while (i < j && arr[j] >= base) {
    32                 j--;
    33             }
    34             //这里的小于等于和小于有什么区别??
    35             while (i < j && arr[i] <= base) {
    36                 i++;
    37             }
    38             if (i < j) {
    39                 int temp = arr[i];
    40                 arr[i] = arr[j];
    41                 arr[j] = temp;
    42             }
    43 
    44         }
    45         /*
    46         /将基准数与 i==j的位置的元素交换
    47         */
    48         arr[low] = arr[i];
    49         arr[i] = base;
    50         //递归调用 i==j 左边和右边的部分
    51         quickSort(arr, 0, i - 1);
    52         quickSort(arr, i + 1, high);
    53     }
    54 }
  • 相关阅读:
    python【第五篇】常用模块学习
    (三)训练HMM模块
    (二)杂项准备
    (四)看看成果
    (一)准备训练语音文件
    HTK语音识别示例(Ubuntu)
    RoboCup仿真3D TC笔记(2014年合肥中国公开赛 仿真3D比赛环境搭建)
    WebFont与页面font-icon图标研究
    Font Awesome使用方法
    css sprites拼合
  • 原文地址:https://www.cnblogs.com/zz-1120-wtenlb/p/13358636.html
Copyright © 2011-2022 走看看