题目内容
请完成以下在双向循环链表上的插入操作算法。双向链表的存储结构描述如下:typedef struct DuLNode{ ElemType data; //数据域struct LNode *prior; //前驱指针域struct LNode *next; //后继指针域} DuLNode, *DuLinkList;Status DuLinkListInsert(DuLinkList &L, int i, ElemType e)// 在双向循环链表L的第i个数据元素之前插入新的元素e,i的合法值是1<=i<=表长+1{ DuLinkList ____, s;//p指针指示链表中的头结点int j=0;//j指示p指针所指向的结点在表中的位序号while (jnext;++j;if (p==L)break;}if (____|| j>i-1) // i不合法return ERROR;s=____;//产生新的结点ss->data=e;s->next=____; //修改链,让新结点s插入到第i-1个元素结点p的后面s->prior=p;//s的前驱是pp->next=s;//p的后继是ss->next->prior=s;//s的后继的前驱是sreturn OK;}
查看答案
搜索结果不匹配?点我反馈
更多问题