📄 ch11_14.c
字号:
/*CH11_14*/
/*写一个函数,删除链表中的指定结点。删除一个结点有两种情况*/
TYPE * delete(TYPE * head,int num)
{
TYPE *pf,*pb;
if(head==NULL) /*如为空表, 输出提示信息*/
{
printf("\nempty list!\n");
goto end;}
pb=head;
while (pb->num!=num && pb->next!=NULL)
/*当不是要删除的结点,而且也不是最后一个结点时,继续循环*/
{
pf=pb;pb=pb->next; /*pf指向当前结点,pb指向下一结点*/
}
if(pb->num==num)
{
if(pb==head) head=pb->next;
/*如找到被删结点,且为第一结点,则使head指向第二个结点,*/
/*否则使pf所指结点的指针指向下一结点*/
else pf->next=pb->next;
free(pb);
printf("The node is deleted\n");
}
else
printf("The node not been foud!\n");
end:
return head;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -