读书人

链表排序求解,该怎么处理

发布时间: 2012-02-06 15:52:45 作者: rapoo

链表排序求解
如何用简便的方法进行链表排序??请举例,谢谢!

[解决办法]
表指,
用qsort排序,
然後原


就好像
struct list_head {
struct list_head *next, *prev;
void *data ;
};


void list_qsort(struct list_head *head, compar comp)
{
void **list ,**p;
struct list_head *pos;

int count = list_count(head) ;
if ( (p=list = (void **) malloc(sizeof(void*) * count))==NULL)
{
return ;
}

list_for_each(head, pos){
*p++ = pos-> data ;
}

qsort(list, count, sizeof(void *), comp);

p=list ;

list_for_each(head, pos){
pos-> data = *p++ ;
}

free(list);
}

读书人网 >C语言

热点推荐