C语言中怎样实现对字符串数组和结构体数组中的这些不可直接赋值的元素的排序
3个回答
2013-08-19
展开全部
用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排序,字符串长度不同的,较长的字符串比较大
否则从首字母开始依次比较,当遇到字符不相等时,较大字符所在的字符串较大
字符串数组的
#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排序,字符串长度不同的,较长的字符串比较大
否则从首字母开始依次比较,当遇到字符不相等时,较大字符所在的字符串较大
2013-08-19
展开全部
中央台节目音乐
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-19
展开全部
看你想怎么样排序啊 加个规则就行了不……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询