编写一在双向循环链表中值x结点之前插入值为y结点的算法

2024年11月29日 22:56
有1个网友回答
网友(1):

void InsertDLink(DuLinkList p,int y)
{
     DuLinkList s;
     s = (DuLinkList)malloc(sizeof(DuLNode));  //动态创建插入结点s,存储y的值
     s ->data = y;
     while(p->data != x)                       //当p的值不为x时,向下查找,直到为x
    {
          p = p->next;
    }
    s->prior = p->prior;                       //把结点s插入到p之前
    p->prior ->next = s;
    s->next  = p;
    p->prior = s;
}