排序算法

快速排序

平均時(shí)間復(fù)雜度是O(N*lgN),最壞情況下是O(N^2),是一個(gè)不穩(wěn)定的算法

package com.zychen.wordCount;

/**
 * @Author: 章源辰
 * @Date: 2017/11/17
 * @Description:
 */
public class QuickSort {

    public static void main(String[] args) {
        int[] array = {10, 50, 30, 20, 40};
        array = sort(array, 0, array.length - 1);
        for (int i : array) {
            System.out.print(i + ",");
        }
    }

    public static int[] sort(int[] arr, int l, int r) {
        if (l < r) {
            int i = l;
            int j = r;
            int x = arr[i];
            while (i < j) {
                while (i < j && x < arr[j]) {
                    j--;
                }
                if (i < j) {
                    arr[i++] = arr[j];
                }

                while (i < j && x > arr[i]) {
                    i++;
                }
                if (i < j) {
                    arr[j--] = arr[i];
                }
            }
            arr[i] = x;
            sort(arr, l, i - 1);
            sort(arr, i + 1, r);
        }
        return arr;
    }
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 文章大綱:1.總體排序算法對(duì)比圖2.9種排序算法介紹 冒泡排序 算法描述 冒泡排序是一個(gè)平均時(shí)間復(fù)雜度為O(n^2...
    檸檬烏冬面閱讀 4,231評(píng)論 0 73
  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    蟻前閱讀 5,301評(píng)論 0 52
  • 概述:排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    每天刷兩次牙閱讀 3,825評(píng)論 0 15
  • 一. 寫在前面 要學(xué)習(xí)算法,“排序”是一個(gè)回避不了的重要話題,在分析完并查集算法和常用數(shù)據(jù)結(jié)構(gòu)之后,今天我們終于可...
    Leesper閱讀 2,640評(píng)論 0 40
  • 今天我們來談?wù)勛约旱氖伦约鹤龅暮锰帯?昨天發(fā)生了2件事,第一件事:爸爸給你準(zhǔn)備的行李,居然帶了2截褲管,拼接短褲沒...
    萍萍淡淡閱讀 203評(píng)論 0 0

友情鏈接更多精彩內(nèi)容