二维字符串数组 使用快速排序的 C语言算法,就是对二维字符数组上每行的字符串进行排序。

能不能通过用strcmp比较,交换两个字符串呀。

能,我帮你写了一个,你可以作参考:
#include<string.h>
#include<stdio.h>
void quicksort(char s[][100],int left,int right)
{
int i=left,j=right,p=left;
char temp[100];
strcpy(temp,s[left]);
while(i<j)
{
while(strcmp(s[j],temp)>=0&&j>=p)j--;
if(j>=p)strcpy(s[p],s[j]),p=j;
while(strcmp(s[i],temp)<=0&&i<=p)i++;
if(i<=p)strcpy(s[p],s[i]),p=i;
}
strcpy(s[p],temp);
if(p-left>1)quicksort(s,left,p-1);
if(right-p>1)quicksort(s,p+1,right);
}
int main()
{
int i;
char s[][100]={"dafad","fadfadsf","fdafaddsaf","fadfdfs","rqe","afaerffa"};
quicksort(s,0,5);
for(i=0;i<6;i++)
puts(s[i]);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-16
可以啊,strcmp的返回值就是两个字符串逐个相减的值
第2个回答  2012-07-16
这是可以的