C语言中怎样实现对字符串数组和结构体数组中的这些不可直接赋值的元素的排序

如题所述

用qsort啊,我举个例子吧。。
字符串数组的

#include<algorithm>
#include<string.h>
#include<stdio.h>
int cmp(const void *_a,const void *_b)
{
char *a=(char *)_a;
char *b=(char *)_b;
return strcmp(a,b);
}
int main()
{
char a[10][80];
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s",a[i]);
qsort(a,n,sizeof(char)*80,cmp);
for(i=0;i<n;i++)
printf("%s\n",a[i]);
return 0;
}
排序规则是按照string排序,字符串长度不同的,较长的字符串比较大
否则从首字母开始依次比较,当遇到字符不相等时,较大字符所在的字符串较大
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-19
中央台节目音乐
第2个回答  2013-08-19
看你想怎么样排序啊 加个规则就行了不……
相似回答