快速排序演算法筆記

2021-09-28 15:39:50 字數 760 閱讀 1954

個人理解:

1:在一組資料中尋找基準數

2:在左右兩端開始比較,從右開始往左推遇到比基準數小的便停下定位,再從左開始往右推遇到比基準數大的數也停下定位,然後將這兩個數交換位置。

4:最後將基準數放到資料中間,右邊留有比基準數大的數,左邊留有比基準數小的數。

5:在以基準數為界,將兩邊再次分為兩組資料。

6:兩組資料再找出各組資料的基準數進行排序,以此類推。

快速排序法不像氣泡排序法一樣需要一一比較排序。

快速排序之所以比較快,是因為相比氣泡排序,每次是跳躍式的。——《啊哈!演算法》

#include

int a[

101]

,n;//定義全域性變數

void

quicksort

(int left,

int right)

}//最終將基準數歸為

a[left]

=a[i]

; a[i]

=temp;

quicksort

(left,i-1)

;//繼續處理左邊的,這裡是乙個遞迴過程

quicksort

(i+1

,rignt)

;//繼續處理右邊的,這裡是個遞迴過程

return;}

intmain()

——————————來自《啊哈!演算法》

排序演算法筆記 快速排序 Quicksort

using system using system.collections.generic using system.linq using system.text namespace test sort array,0,array.length 1 console.readline 一次排序單元,完...

快速排序演算法 總結筆記

首先選擇乙個關鍵值key,作為樞軸。一般會將陣列的首個元素選定為key,樞軸。為什麼說是樞軸?是因為待會我們要以這個key為界,把所有小於等於key值的陣列元素放置到key的左側 把所有大於等於key值的元素移到陣列的右側。key,充當了乙個臨界軸的作用,所以叫它樞軸並不為過。定義兩個變數,firs...

演算法4 2 3快速排序筆記

熵最佳排序 package com.concurency.sort import edu.princeton.cs.algs4.stdout import edu.princeton.cs.algs4.stdrandom 快速排序 public class quick public static v...