|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
心态炸了,这个bug改了一个多小时了,其他没问题,删除函数那里的问题,请大佬看看
本帖最后由 xieglt 于 2020-9-29 08:43 编辑
- // 删除函数
- void delete1(ARRAY **head)
- {
- int flag = 0;
- ARRAY *current = *head;
- ARRAY *previous;
- int num;
- printf("请输入一个整数:");
- scanf("%d",&num);
-
- //如果head是输入的数
- if(*head != NULL && (*head)->value == num)
- {
- *head = (*head)->next;
- free(current);
- flag = 1;
- }
- else if(current != NULL)
- {
- do
- {
- previous = current;
- current = current->next;
- if(current == NULL)
- {
- break;
- }
- if(current->value == num)
- {
- previous->next = current->next;
- printf("找到了,开始删除....");
- flag = 1;
- free(current);
- break;
- }
- }while(1);
- }
-
- if(flag == 0)
- {
- printf("没有找到该数值,删除失败\n"); // 遍历完链表没有找到
- }
-
- }
复制代码
|
|