0
点赞
收藏
分享

微信扫一扫

浙大版《C语言程序设计(第3版)》题目集 - 习题11-8 单链表结点删除(20 分)


题目链接:​​点击打开链接​​

题目大意:略。

解题思路:与 ​​浙大版《C语言程序设计(第3版)》题目集 - 习题11-7 奇数值结点链表(20 分)​​ 很像,但此题直接用删除的办法来做~

AC 代码

struct ListNode *readlist()
{
struct ListNode *h, *p, *pre;
int da, fst=1;
while(~scanf("%d", &da) && da!=-1)
{
p=(struct ListNode*)malloc(sizeof(struct ListNode));
p->data=da;
if(!fst) pre->next=p, pre->next->next=NULL, pre=pre->next;
if(fst) pre=h=p, fst=0;
}

return h;
}

struct ListNode *deletem( struct ListNode *L, int m )
{
struct ListNode *h, *pre=(struct ListNode*)malloc(sizeof(struct ListNode));
int da;
pre->next=L;
h=pre;

while(L)
{
da=L->data;
if(m==da) pre->next=L->next;
else pre=pre->next;
L=L->next;
}

return h->next;
}


举报

相关推荐

0 条评论