首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

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

求教:带头结点的单循环链表如何进行排序?
本人初学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;        }    }} 

热点排行