读书人

带头结点的单循环链表怎么进行排序

发布时间: 2012-03-19 22:03:04 作者: rapoo

求教:带头结点的单循环链表如何进行排序?
本人初学C语言不久,今天找了一道数据结构的考研题

题目大致是这样的,要对仓库里货物建立一个带头结点的单循环链表,要求按价格从低到高排序,还可以进行插入,删除,查找等操作

typedef struct list{
float price;
int num;
struct list *next;
}Linklist;

现在功能已经基本可以实现了,就是这个按价格排序的函数写不出来。。百度,google,翻书什么的都用了,查到的方法可以编译但是运行不出结果,就是运行程序的那个窗口定住不动

已经折腾半下午加一晚上了。。

请各位高人教教我

[解决办法]

C/C++ code
void sort_L(Linklist *L) {     Linklist *p,*q,*min;    float price;    int num;     for(p=L->next;p->next!=NULL;p=p->next)     {         min=p;         for(q=p->next;q;q=q->next)            if(q->price<min->price)                 min=q;         if(small!=p)        {             price=p->price;            num=p->num;            p->price=min->price;            p->num=min->num;            min->price=price;            min->num=num;        }    }} 

读书人网 >C++

热点推荐