• 快速排序


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

     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 }
  • 相关阅读:
    org.json.JSONObject的optXXX方法
    android Fragment的数据传递
    android .9图片的制作
    android handler
    CSS中的!important属性用法
    JS中的prototype
    JavaScript 函数创建思想
    css笔记
    Frameset使用教程
    HDU 5536 Chip Factory 【01字典树删除】
  • 原文地址:https://www.cnblogs.com/zz-1120-wtenlb/p/13358636.html
Copyright © 2020-2023  润新知