#include
<
stdio.h
>
int
Partition(
int
A[],
int
p,
int
r)
...
{int x,i,j,var,mid; x=A[r]; i=p-1; for(j=p;j<=r-1;j++) ...{ if (A[j]<=x) ...{ i++; var=A[i]; A[i]=A[j]; A[j]=var; } } mid=A[i+1]; A[i+1]=A[r]; A[r]=mid; return i+1;}
void
QuickSort(
int
A[],
int
p,
int
r)
...
{ int q; if (p<r) ...{q=Partition(A,p,r); QuickSort(A,p,q-1); QuickSort(A,q+1,r);}}
void
main()
...
{ int i; int A[10]=...{3,4,1,56,34,13,7,9,11,26}; QuickSort(A,0,9); for(i=0;i<=9;i++) printf("%d ",A[i]); getch();}
很简单,在理解算法过程时写的,一次写好!
转载请注明原文地址: https://ibbs.8miu.com/read-27030.html