zoukankan      html  css  js  c++  java
  • java排序,效率高的是哪种排序方法

    和所有其他语言是一样的。应该还是快速排序效率最高。

    public static void bubbleSort(int a[]) {
    int len = a.length;
    for (int i = 0; i < len - 1; i++) {
    for (int j = 0; j < len - 1 - i; j++) {
    if (a[j] > a[j + 1]) {
    int temp = a[j];
    a[j] = a[j + 1];
    a[j + 1] = temp;
    }
    }
    }
    }
    public static void selectSort(int a[]) {
    int temp = 0;
    int len = a.length;
    for (int i = 0; i < len - 1; i++) {
    int min = a[i];
    int index = i;
    for (int j = i + 1; j < len; j++) {
    if (min > a[j]) {
    min = a[j];
    index = j;
    }
    }
    temp = a[i];
    a[i] = a[index];
    a[index] = temp;
    }
    }
    public static void insertSort(int a[]) {
    int len = a.length;
    for (int i = 1; i < len; i++) {
    int temp = a[i];// 待插入的值
    int index = i;// 待插入的位置
    while (index > 0 && a[index - 1] > temp) {
    a[index] = a[index - 1];// 待插入的位置重新赋更大的值
    index--;// 位置往前移
    }
    a[index] = temp;
    }
    }
    public static int partition(int a[], int low, int height) {
    int key = a[low];
    while (low < height) {
    while (low < height && a[height] >= key)
    height--;
    a[low] = a[height];
    while (low < height && a[low] <= key)
    low++;
    a[height] = a[low];
    }
    a[low] = key;
    return low;
    }
    public static void quickSort(int a[], int low, int height) {
    if (low < height) {
    int result = partition(a, low, height);
    quickSort(a, low, result - 1);
    quickSort(a, result + 1, height);
    }
    }
    测试结果
    ------------------------------------------
    测试数据10000
    冒泡排序:120ms
    选择排序:32ms
    插入排序:20ms
    快速排序:7ms
    ------------------------------------------
    测试数据100000
    冒泡排序:13098ms
    选择排序:2334ms
    插入排序:1264ms
    快速排序:23ms
    效率差距很大啊!!!! 

  • 相关阅读:
    apache的日志切割
    实现HTTPS--Apache+Openssl
    CentOS 6.x 编译安装LAMP
    apache的域名跳转
    模型生成过程中检测到一个或多个验证错误
    电商时代已经要过去了。接下来是零售
    电商时代已经要过去了。接下来是零售
    华为手机怎么安装Google
    华为手机怎么安装Google
    table不让td中文字溢出操作方法
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/5700939.html
Copyright © 2011-2022 走看看