题解 | #牛牛的链表删除#

牛牛的链表删除

https://www.nowcoder.com/practice/d3df844baa8a4c139e103ca1b1faae0f

#include<stdio.h>

#include<stdlib.h>

typedef struct Node

{

int date;

struct Node* next;

}Node,*List;

List InitList(Node* p,int n)

{

Node* t = p;

for (int i = 0; i < n; i++)

{

t->next = (Node*)malloc(sizeof(Node));

t = t->next;

scanf("%d", &t->date);

}

t->next = NULL;

return p;

}

void Delete(List L, Node* p)

{

Node* q = L;

while (q->next != p)

q = q->next;

q->next = p->next;

free(p);

}

int main()

{

List L = (List)malloc(sizeof(Node));

int n = 0, x = 0;

scanf("%d%d", &n, &x);

L = InitList(L, n);

Node* p = L->next;

Node* q = p->next;

for (int i = 0; i < n; i++)

{

if (p->date == x)

{

Delete(L, p);

}

if (q)

{

p = q;

q = q->next;

}

}

L = L->next;

while (L)

{

printf("%d ", L->date);

L = L->next;

}

return 0;

}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务