数据结构习题及答案

源代码在线查看: 2.31.c

软件大小: 52 K
上传用户: GUAIGUAICHENGTI
关键词: 数据结构
下载地址: 免注册下载 普通下载 VIP

相关代码

				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所指结点的前驱结点,并返回被删结点的元素值 */
				{
				
				 LinkList p,q;
				 ElemType e;
				 for(p=s,q=s->next->next;q!=s;p=p->next,q=q->next);
				 e=p->next->data;
				 p->next->next=NULL;
				 free(p->next);
				 p->next=q;
				 return e;
				
				}
				
							

相关资源