代码如下:
#include
#include
typedef struct LNode
{
int num;
struct LNode *next;
}LNode;
LNode *creat(int n)
{
LNode *p,*head;
head=(LNode *)malloc(sizeof(LNode));
p=head;
head->num=0;
head->next=NULL;
for(int i=1;i<=n;i++){
LNode *newLNode=(LNode *)malloc(sizeof(LNode));
newLNode->num=i;
newLNode->next=NULL;
p->next=newLNode;
p=p->next;
}
return head;
}
void del(int n,LNode *head)
{
LNode *pre,*current;
pre=head;
current=head->next;
printf("要删除的节点:%d\n",n);
while(current!=NULL)
{
if(current->num==n){
pre->next=current->next;
free(current);
break;
}
pre=current;
current=current->next;
}
}
int main()
{
LNode *p,*head;
int n;
head=creat(10);
printf("input n:\n");
scanf("%d",&n);
del(n,head);
int i=1;
p=head->next;
while(p!=NULL)
{
printf("p%d-> num=%d\n",i,p->num);
i++;
p=p->next;
}
return 0;
}
