读书人

双链表安插自动排序

发布时间: 2013-07-04 11:45:28 作者: rapoo

双链表插入自动排序

今天开了一上午无聊的会议,利用一些时间想了一下,双列表插入自动排序问题。这双链表还是花了我很多时间,早上测试结果,总是不对是因为我的list_node输出造成的,让我误以为打印结果不对。  1 /* doublylinkedlist.c */                                                                                    2 #include <stdlib.h>        3 #include <stdio.h>  4 #include "doublylinkedlist.h"  5     6 struct node tailsentinel;  7 struct node headsentinel = {0, NULL, &tailsentinel};  8 struct node tailsentinel = {0, NULL, &headsentinel};  9    10 static link head = &headsentinel; 11 static link tail = &tailsentinel; 12  56 void insert_sort(link p) 57 { 58     link node = head; 59     for(;node->next != tail && node->next->item < p->item; node=node->next); 60     p->next = node->next; 61     p->pre = node; 62     node->next->pre=p; 63     node->next = p; 64 }

?空列表情况:
双链表安插自动排序
?

非空是 插入情况:


双链表安插自动排序
?

读书人网 >编程

热点推荐