设存在一个带头结点的单循环链表 L, 每个结点包含三个域,它们分别是 prior 、 data 和 next 。 其中 data 为数据域, prior 是指针域,其值为空指针 ; next 是指针域,指向直接后继结点。下面的代码将此单链表转化为双向循环链表。 #define OK 1 #define ERROR 0 typedef int ElemType; typedef int Status; typedef struct LNode{ struct LNode* prior; ElemType data; struct LNode* next; }DuLNode,"*DuLinkList; Status CreateDuList_ prior(DuLinkList L) { // 给 prior 添加指针域 DuLinkList p,q; 1 ; Do { q = p->next; 2 ; p=q; }while(p!=L); Return OK; }