手写的qsort快速排序
2015-05-25 12:39
330 查看
//手写快排qsort的模板函数 void qsort(int* a, int left, int right) { if(left+1 >= right) return ; int i = left, j = right-1, key = a[left]; while(i < j) { while(i < j && key <= a[j]) j--; a[i] = a[j]; while(i < j && a[i] <= key) i++; a[j] = a[i]; } a[i] = key; qsort(a, left, i); qsort(a, i+1, right); } //................................................................................................................. //例子 #include<stdio.h> //快速排序的例子 void qsort(int* a, int left, int right) { if(left+1 >= right) return ; int i = left, j = right-1, key = a[left]; while(i < j) { while(i < j && key <= a[j]) j--; a[i] = a[j]; while(i < j && a[i] <= key) i++; a[j] = a[i]; } a[i] = key; qsort(a, left, i); qsort(a, i+1, right); } int main() { int a[11] = {0, 2, 3, 1, 3,5,34,2,1,4,6}; qsort(a, 0, 11); for(int i = 0; i < 11; i++) printf("%d ", a[i]); return 0; }
相关文章推荐
- qsort快速排序
- 使用qsort()和bsearch()进行快速排序和折半查找
- qsort()编译器自带快速排序的用法
- qsort快速排序的实现
- qsort快速排序用法--完整版(解释了cmp)【转】
- 利用系统函数qsort()进行快速排序的七种形式
- C语言下使用快速排序qsort
- 通过qsort实现快速排序
- qsort 使用快速排序例程进行排序
- C语言自带的快速排序(qsort)函数使用方法
- 手写快速排序(QuickSort)
- 利用qsort() 对字符串的内容快速排序
- qsort快速排序的整理
- qsort快速排序
- qsort快速排序的整理
- qsort(快速排序)用法
- qsort 快速排序
- [C/C++基础知识] 一篇就让你彻底搞懂qsort快速排序的文章
- C语言qsort快速排序
- 手写快速排序和归并排序