在c中分类链表

时间:2013-07-13 11:48:01

标签: c list sorting linked-list

我有一个这个结构的列表,我想根据值对列表进行排序 draw_number,列表有一个指向第一个结构的指针前端 列表和指针后面指向列表的最后一个结构。我发现很多代码用于排序列表,但我不能为我的代码做我的工作。结构是:

typedef struct itm{
    int draw_number;
    char date[11];
    char temi[6];
    struct itm *next;
}item;

1 个答案:

答案 0 :(得分:0)

最简单的是冒泡排序。

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;
}