数据结构:删除从第I个链结点开始的连续k个结点

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:35:55
要求用C/C++编写这一小段程序

DEV C++下运行成功

#include<stdio.h>
#include<stdlib.h>

typedef struct node
{
int data;
struct node *next;
}Link;

void create(Link *&L,int n)//创建单链表
{
Link *r,*s;
L=(Link*)malloc(sizeof(Link));
r=L;
for(int i=0;i<n;i++)
{
s=(Link*)malloc(sizeof(Link));
s->data=i+1;
r->next=s;
r=s;
}
r->next=NULL;
}

void print(Link *&L)//打印
{
Link *p=L->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}

void Delete(Link *&L)//删除
{
int i,k,j=1,m=0;
Link *p,*q;
q=L;
p=L->next;
printf("\n输入删除开始节点i:");
scanf("%d",&i);
while(p!=NULL&&j<i)
{
j++;