#include <stdio.h> void QuickSort1(int *s,int left,int right){int i,j,t,pivot;if(left>right)return;if(left<right){pivot = s[left];//基准数 i=left;j=right;while(i!=j){while(i<j &&s[j]>=pivot) j--; //从右向左找第一个比基准数小的数 while(i<j &&s[i]<=pivot) i++;//从左向右找第一个比基准数大的数 if(i<j)//交换两数 {t=s[i];s[i]=s[j];s[j]=t;}}s[left] = s[i];//基准数归位 s[i] = pivot;QuickSort1(s,left,i-1);QuickSort1(s,i+1,right);}}void QuickSort2(int *s,int left,int right){int i,j,pivot;if(left>right)return;if(left<right){pivot = s[left];//基准数 i=left;j=right;while(i!=j){while(i<j &&s[j]>=pivot) j--; //从右向左找第一个比基准数小的数 if(i<j){s[i]=s[j];i++;}while(i<j &&s[i]<=pivot) i++;//从左向右找第一个比基准数大的数 if(i<j){s[j]=s[i];j--;}}s[i] = pivot;//基准数归位 QuickSort2(s,left,i-1);QuickSort2(s,i+1,right);}}int main(){int a[] = {8,6,12,10,2,7,3,15,9,20};//QuickSort1(a,0,9);QuickSort1(a,0,9);int i=0;for(;i<10;i++)printf("%d ",a[i]); return 0;}
100字范文,内容丰富有趣,生活中的好帮手!