【问题标题】:Assorting linked list in c [duplicate]在c中分类链表[重复]
【发布时间】:2013-07-11 21:08:08
【问题描述】:
我有这个结构的列表,我想根据值对列表进行排序
的draw_number,并且列表有一个指向第一个结构的指针front
列表和指向列表最后一个结构的指针后部。我发现了许多用于对列表进行排序的代码,但我无法为我的代码完成我的工作。结构是:
typedef struct itm{
int draw_number;
char date[11];
char temi[6];
struct itm *next;
}item;
【问题讨论】:
标签:
c
list
sorting
linked-list
【解决方案1】:
最简单的将是冒泡排序。
item* sort(item *start){
item *node1,*node2;
int temp;
for(node1 = start; node1!=NULL;node1=node1->next){
for(node2 = start; node2!=NULL;node2=node2->next){
if(node2->draw_number > node1->draw_number){
temp = node1->draw_number;
node1->draw_number = node2->draw_number;
node2->draw_number = temp;
}
}
}
return start;
}