快速排序法

2021-06-22 06:04:12 字數 446 閱讀 7857

一、快速排序演算法的基本特性

時間複雜度:o(n*lgn)

最壞:o(n^2)

空間複雜度:o(n*lgn)

不穩定。

快速排序是一種排序演算法,對包含n個數的輸入陣列,平均時間為o(nlgn),最壞情況是o(n^2)。

通常是用於排序的最佳選擇。因為,基於比較的排序,最快也只能達到o(nlgn)。

c**:

void quicksort(int a,int numsize)//a是整形陣列,numsize是元素個數

} a[i]=val;//將儲存在val中的數放到a[i]中

quicksort(a,i);//遞迴,對前i個數排序

quicksort(a+i+1,numsize-1-i);//對i+1到numsize這numsize-1-i個數排序

}}

快速排序法

include stdafx.h include vos.h define table mid machine name midmachine define table midmach colname id id define table midmach colname ip ip define t...

快速排序法

快速排序法思想 在待排序的n個資料中取第乙個數字為基準數,陣列最前面放乙個標桿,陣列最後麵放乙個標桿,通過基準數和標桿 i,j 出的數進行比較,實現每次排序完時候,共三組數,不大於基準數 基準數 不小於基準數 舉例說明 5 i 4,6,8,3,9,2 j 基準數5 標桿 i 指向5位置,標桿 j 指...

快速排序法

package com.sort 快排類 思路 分割和遞迴 分割 將比基準數 第乙個 小的放左邊,大的放右邊 遞迴 快排方法下呼叫分割,再快排。不斷遞迴 author maggie public class quicksort 第一種分割方法 分割 將比基準數 第乙個 小的放左邊,大的放右邊 par...