主题:快速排序实现字符串的排序,望赐教(有代码)
void QuickSort(char* p[],int s,int t)
{
int i=s,j=t+1;
char* x=p[s];
do
{
do i++;while(strcmp(p[i],x)<0);
do j--;while(strcmp(p[j],x)>0);
if(i<j)
{
char* temp=p[i];
p[i]=p[j];p[j]=temp;
}
}while(i<j);
p[s]=p[j];p[j]=x;
if(s<j-1) QuickSort(p,s,j-1);
if(j+1<t) QuickSort(p,j+1,t);
}
void main()
{
int i;
char* p[5];
for(i=0;i<5;i++)
scanf("%s",p[i]);
QuickSort(p,0,4);
for(i=0;i<5;i++)
printf("%s ",p[i]);
}
不知道怎么回事,一运行就弹出发送错误报告的消息,望指教!!
{
int i=s,j=t+1;
char* x=p[s];
do
{
do i++;while(strcmp(p[i],x)<0);
do j--;while(strcmp(p[j],x)>0);
if(i<j)
{
char* temp=p[i];
p[i]=p[j];p[j]=temp;
}
}while(i<j);
p[s]=p[j];p[j]=x;
if(s<j-1) QuickSort(p,s,j-1);
if(j+1<t) QuickSort(p,j+1,t);
}
void main()
{
int i;
char* p[5];
for(i=0;i<5;i++)
scanf("%s",p[i]);
QuickSort(p,0,4);
for(i=0;i<5;i++)
printf("%s ",p[i]);
}
不知道怎么回事,一运行就弹出发送错误报告的消息,望指教!!