2.31.txt

来自「严蔚敏《数据结构(c语言版)习题集习题答案」· 文本 代码 · 共 23 行

TXT
23
字号
2.31②  假设某个单向循环链表的长度大于1,且表
中既无头结点也无头指针。已知s为指向链表中某个
结点的指针,试编写算法在链表中删除指针s所指结
点的前驱结点。

实现下列函数:
ElemType DeleteNode(LinkList s); 
/* 删除指针s所指结点的前驱结点,并返回被删结点的元素值 */

单链表类型定义如下:
typedef struct LNode{
    ElemType      data;
    struct LNode *next;
} LNode, *LinkList;


ElemType DeleteNode(LinkList s) 
/* 删除指针s所指结点的前驱结点,并返回被删结点的元素值 */
{
 struct LNode *p,*q;p=s;
 while(p->next->next!=s) p=p->next;q=p->next;
 p->next=s;return q->data;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?