[排序]快速排序
2014-09-02 09:22
148 查看
#include <stdio.h> int Partition(int *iArray, int i, int j)//划分 { int pivot = iArray[ i ]; while(i < j) { while(i < j && iArray[ j ] >= pivot ) { j --; } if(i < j) { iArray[ i ++ ] = iArray[ j ]; } while(i < j && iArray[ i ] <= pivot) { i ++; } if(i < j) { iArray[ j -- ] = iArray[ i ]; } } iArray[ i ] = pivot; return i; } void QuickSort(int *iArray, int low, int high) { if(low < high) { int pivotpos = Partition(iArray, low, high); QuickSort(iArray, low, pivotpos - 1); QuickSort(iArray, pivotpos + 1, high); } } int main() { int iArray[] = {1,0,9,3,7,2,-90,78,45,4,77,79,78,37,0,-1,2,3,6,9,5,4,78,78,78,1,1,1}; int len = sizeof(iArray) / sizeof(int); QuickSort(iArray, 0, len - 1); for(int i = 0; i < len; ++ i) { printf("%3d ",iArray[ i ]); } printf("\n"); }
相关文章推荐
- PLSQL实现排序(冒泡、选择、快速)
- Python 快速排序 堆排序——Python实现一些算法持续更新
- 快速排序
- 发现一个快速理解排序方法的小网站,小视频清晰易懂
- C代码学习,快速排序,左右并进,递归调用(另注释)
- Java排序算法(五):快速排序 .
- 2018年第九届蓝桥杯【C++省赛B组】【第五题:快速排序】
- 快速排序 冒泡排序
- 快速排序
- 快速排序-QuickSort
- 【内部排序】五:快速排序(Quick Sort)详解与代码
- 快速排序的简单实现
- 快速排序(JAVA描述)
- 使用future的并行快速排序
- 快速排序
- 快速排序java语言实现
- 快速排序改进版,时间复杂度为:O(nk+nlog(n/k))
- 快速记忆网线排序
- 快速排序的递归方式和非递归方式
- Python--排序--快速排序