快速排序三

2022-01-29 09:17:10 字數 1091 閱讀 1566

/*

快速排序法三

說明:之前說過軸的選擇是快速排序法的效率關鍵之一 , 在這邊的快速排序法的軸選擇方式更加快了快速排序法的效率,它是來自演演算法

名書 introduction toalgorithms 之中

*/#include

#include

#include

#include

#define max 10

#define swap(x, y)

int partition(int , int, int

);void quicksort(int , int, int

);int main(void

);

int i, num, flag = 1

;

char

ch;

srand(time(null));

while

(flag)

quicksort(number,

0, max - 1

);

printf(

"\n排序後: ");

for(i = 0; i < max; i++)

printf("\n

");printf(

"是否繼續?(y or y):");

scanf("%c

", &ch);

getchar();

if(ch != '

y' && ch != 'y'

) }

return0;

}int partition(int number, int left, int

right)

}swap(number[i + 1

], number[right]);

return i+1;}

void quicksort(int number, int left, int

right)

}

執行結果:

快速排序三

快速排序法三 說明 之前說過軸的選擇是快速排序法的效率關鍵之一 在這邊的快速排序法的軸選擇方式更加快了快速排序法的效率,它是來自演演算法 名書 introduction toalgorithms 之中 include include include include define max 10 def...

排序(三) 快速排序 Quick sort

快速排序。顧名思義,該排序演算法的特點就是快。相較於冒泡與選擇排序,快速排序的時間複雜度小很多 特別是在資料量大的情況下 為o nlogn 所以其優勢很明顯。個人感覺在一般的題目或oj中,快速排序是非常實用的工具。c 的sort函式嘛。能偷懶就偷懶唄 當然,具體情況具體對待。排序的方法有很多,不愁沒...

快速排序之三路快速排序

之前介紹了快速排序和優化版的快速排序 下面再來介紹一種 三路快速排序 實現 三路快速排序 template typename t static void quicksort3ways t arr,int n template typename t static void quicksort3ways...