数据结构习题!!!!帮我用C语言写一个删除操作的算法!按照图中相关代码写!最好运行成功后再发给我!

2025-04-14 03:04:00
推荐回答(1个)
回答1:

#include
#include
#define NEW (LB *)malloc(sizeof(LB))
typedef struct Lianb{

int data;

struct Lianb *next;

}LB;// 创建链表结构体

LB *chuangjian(int n)

{

LB *Head,*p;

Head=p=NEW;

for(int i=0;i
scanf("%d",&p->data);

p->next=NEW;

p=p->next;

}

p=0;

return Head;

}// 创建链表

void xianshi(LB *Head,int n)

{

printf("head->");

LB *p=Head;

for(int i=0;i
printf("%d->",p->data);

p=p->next;

} printf("end\n");

}// 显示链表

LB *chazhao(LB *Head,int n){

LB *p=Head;

if(p!=0){for(int i=0;i
p=p->next;

}

}else{

printf("链表长度不足\n");

}

return p;

}// 查找

LB *shanchu(LB *Head, int n){

LB *p=chazhao(Head,n-1);

p->next = p->next->next;

return Head;

}// 删除
int main()
{
LB *head;

head=chuangjian(5);// 创建链表

xianshi(head,5);// 显示链表
shanchu(head, 3);

xianshi(head, 4);//显示插入后新链表

free(head);

return 0;

}