|
发表于 2020-4-8 14:46:43
|
显示全部楼层
为什么同一个问题发这么多个帖子!!有灌水嫌疑!!
- void delpeople(struct Phone **people)
- {
- struct Phone *pb,*pf;
- char ch[20];
- printf("请输入要删除的联系人:");
- scanf("%s", ch);
- fflush(stdin);
- pb=*people;//让pb指向头节点
- if(*people == NULL)//链表为空链表
- {
- printf("链表为空\n");
- return ;
- }
- while(strcmp(ch, pb->name) && pb->next!=NULL)//循环查找要删除的节点
- {
- pf=pb;
- pb=pb->next;
- }
- if(strcmp(ch, pb->name) == 0)//找到了一个节点的name和ch相等
- {
- if(pb == *people)//找到的节点是头节点
- *people = pb->next;
- else//找到的节点是普通节点
- pf->next = pb->next;
- free(pb);
- }
- else//没有找到咱们要删除的节点
- printf("没有找到您要删除的节点\n");
- }
复制代码 |
|