排序算法----快速排序(数组形式)

Posted 新爱代

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法----快速排序(数组形式)相关的知识,希望对你有一定的参考价值。

这个快速排序主要利用递归调用,数组存储方式。包含3个文件,头文件QuickSort.h,库函数QuickSort.c,测试文件TestQuickSort。

其中Cutoff可以自己给定,这个当开始给定的数组(或者递归调用产生的子数组)的元素个数<=20个时,采用插入排序。一般认为当元素个数<=20时,插入排序更快。这个20不是固定的,在这附近浮动都可以的。

头文件QuickSort.h

 1 #ifndef QuickSort_H
 2 #define QuickSort_H
 3 #define Cutoff 20
 4 typedef float ElementType;
 5 ElementType Median3(ElementType A[], int left, int right);
 6 void Swap(ElementType *p, ElementType*q);
 7 void InsertionSort(ElementType A[], int N);
 8 void QuickSort(ElementType A[], int N);
 9 void Qsort(ElementType A[], int Left, int Right);
10 void PrintMatrix(ElementType A[], int N);
11 
12 #endif // !QuickSort_H

 

以上是关于排序算法----快速排序(数组形式)的主要内容,如果未能解决你的问题,请参考以下文章

算法排序之堆排序

Java 排序算法 快速排序

快速排序/快速选择算法

C语言,快速排序算法

《图解算法》--快速排序哈希表图广度优先搜索算法

快速排序算法实现(二维数组)