请各位专家帮我看一个快速排序(VC6环境下),不知道错在哪儿?谢谢!
#include "stdafx.h"
#include "stdio.h"
#include "iostream.h"
int main(int argc, char* argv[])
{
char a[]="gfedahbc";
void q_sort(char *,int,int);
q_sort(a,0,7);
printf("%s",a);
return 0;
}
void q_sort(char e[],int low,int high)
{
int i,j;
char t;
if (low<high)
{
i=low;j=high;t=e[low];
while(i<j){
while (i<j && e[j]>t) j--;
if (i<j) e[i++]=e[j];
while (i<j && e[j]<=t) i--;
if (i<j) e[j++]=e[i];
}
e[i] = t;
q_sort(e,low,i-1);/*递归 对左子序列作划分*/
q_sort(e,i+1,high);/*递归 对右子序列作划分*/
}
}