list的对象排序
发布网友
发布时间:2022-05-02 09:58
我来回答
共1个回答
热心网友
时间:2022-06-19 02:42
你说的是C++的STL的list还是自己定义的一个结构体或者是类,如果是后者的话,我建议你去试试快速排序,使用C语言或C++的快排函数来实现,比如你有id和name,那么你可以这样先对id排序,当id相同时再对name排序就行了。具体实现这样:
struct List
{
int id;
char name[20];
}
int cmp(const void *a,const void *b)
{
struct List *p1=(struct List*)a;
struct List *p2=(struct List*)b;
if(p1->id!=p2->id)
return p1->id-p2->id;
return strcmp(p1->name,p2->name);
}
struct List list[10];
qsort(list,10,sizeof(struct List),cmp);
qsort的具体用法网上有,自己去看看吧。