问题 问答题

试编写一个建立带表头结点的双向循环链表的算法。

答案

参考答案:

解析:用前插入法建立带头结点的双向循环链表。算法描述如下: DCLink* Created(int tag) { int x; DCLink* p=NULL; /*建立表头*/ DCLink* head=(DCLink*)malloc(sizeof(DLLink)); head->next=head; head->prior=head; head->data=tag; /*插入数据*/ printf("input X:\n"); scanf("%d",&x); while(x!=tag) { p=(DCLink*)malloc(sizeof(DLLink)); //申请空间 p->data=x; //赋值 /*在表头部插入结点*/ p->next=head->next; head->next->prior=P; p->prior=head; head->next=P; scanf("%d",&x); } return head; }

选择题
单项选择题