问题描述:假设有一个循环链表的长度大于1,且表中既无头结点也无头指针,已知s为指向链表中某结点的指针,试编写算法在链表中删除s所指结点的前驱结点。

思路:设置一个指针p,从s开始遍历整个表,停在s的前驱结点的前驱结点的位置,以便于删除s的前驱结点。

程序代码:

  void deleteAheadElement(PNode s)

  {

    PNode p,q;

    p = s;

    while(p->link->link != s)

      p = p->link;

    q = p->link;

    p->link = s;

    free(q);

  }

相关文章:

  • 2022-02-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-08
  • 2022-02-17
猜你喜欢
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案