快速排序的C语言实现
2012-12-17 18:04
337 查看
#include <stdio.h> #include <stdlib.h> #define N 10 int split(int [], int, int); void quickSort(int [], int, int); int main() { int a , i; //printf("Please Input %d Integers:\n", N); for(i=0; i<N; i++) { //scanf("%d", &a[i]); a[i] = rand(); } printf("Before Sort, the arrary is: \n"); for(i=0; i<N; i++) { printf("%d\t", a[i]); } quickSort(a, 0, N-1); printf("After Sort, the array is: \n"); for(i=0; i<N; i++) { printf("%d\t", a[i]); } return 0; } int split(int a[], int low, int high) { int partElement = a[low]; for ( ; ; ) { while(low<high && partElement<=a[high]) { high--; } if (low>=high) { break; } a[low] = a[high]; low++; while(low<high && a[low]<=partElement) { low++; } if(low>=high) { break; } a[high] = a[low]; high--; } a[high] = partElement; return high; } void quickSort(int a[], int low, int high) { int middle; if (low>=high) { return; } middle = split(a, low, high); quickSort(a, low, middle-1); quickSort(a, middle+1, high); }
相关文章推荐
- 用c语言实现冒泡排序,选择排序,快速排序
- C语言实现快速排序
- 数据结构 C语言实现快速排序
- [笔记]一道C语言面试题:实现快速排序
- 快速排序(完整程序c语言实现)
- C语言实现快速排序
- C语言实现数组快速排序(含对算法的详细解释)
- 快速排序(c语言实现)
- c语言实现快速排序
- 快速排序 c语言代码实现
- C语言实现冒泡、插入、选择、快速排序
- 两种快速排序的实现(C语言)
- 数据结构排序算法之快速排序(c语言实现)
- 快速排序(C语言实现)
- 排序【6】之快速排序的C语言实现
- C语言实现快速排序
- quick_sort(快速排序)c语言实现
- c语言实现快速排序
- 快速排序的插排随机主元三数取中优化C语言实现
- 快速排序的C语言代码实现