c語言快速排序演算法

2021-09-06 16:27:10 字數 465 閱讀 2020

每次排序的時候設定乙個基準點,將小於等於基準點的數全部放到基準點的左邊,將大於等於基準點的數全部放到基準點的右邊。

#includevoid quicksort(int a,int left,int right)

int temp=a[left];//temp就是基準

int i=left;

int j=right;

while(i!=j)

while(a[i]<=temp &&iif(i} a[left]=a[i];

a[i]=temp;

quicksort(a,left,i-1);

quicksort(a,i+1,right); }

int main();

quicksort(a,0,9);

for(int i=0;i<10;i++)

return 0;

}

快速排序演算法C語言

快排的核心思想是分而治之,即第一步先選乙個參考數,第二步將小於參考數的數放左邊,大於該參考數的數放右邊,第三步分別對左邊部分的數和右邊部分的數再進行快排遞迴呼叫。c語言 include void quick sort int a,int p,int r int partition int a,int...

快速排序演算法 C語言

參考文章 include include 隨機找出乙個數 通常就拿陣列第乙個資料就行 把它插入乙個位置,使得它左邊的數都比它小,它右邊的資料都比它大,這樣就將乙個陣列分成了兩個子陣列,然後再按照同樣的方法把子陣列再分成更小的子陣列,直到不能分解為止。它也是分治思想的乙個經典實驗 歸併排序也是 舉例說...

快速排序演算法 C語言

快速排序演算法 c語言 include include void display int array,int high printf n int fast sort int array,int i,int j 迴圈結束,若iif i 隊首元素大於基準資料則繼續迴圈 while i key 迴圈結束,...