戴戴. 2022-09-02 22:14 采纳率: 33.3%
浏览 45

双向链表删除某一节点

这是一个双向链表,采用尾插法插入数据
问题:为什么第一个节点不能删除,还成了随机数,其他的节点可以正常删除

img

img


代码如下:


#include "stdio.h"
#include "stdlib.h"
typedef struct Node
{
    struct Node *front;
    int data;
    struct Node *next;
}Node;
Node *head=NULL;
void insert(int x) //插入节点,尾插法
{
    Node *temp=(Node *)malloc(sizeof(Node));
    temp->data=x;
    temp->next=NULL;
    if(head==NULL)
    {
        head=temp;
        return 0;
    }
    else
    {
        Node *temp2=head;
        while(temp2->next)
        {
            temp2=temp2->next;
        }
        temp2->next=temp;
        temp->front=temp2;
    }
}
void Print() //输出链表
{
    Node *temp=head;
    while(temp)
    {
        printf("%d ",temp->data);
        temp=temp->next;
    }
    printf("\n");
}
void dele(int x) //删除链表
{
    Node *temp=head;
    while(temp)
    {
        if(temp->data==x) //判断是否找到了要删除的数据
         { 
            if(temp==head) //判断数据是否为第一个
            head=head->next;
            else
            temp->front->next=temp->next;
            return 0;
         }
        temp=temp->next;
    
}
int main()
{
    int x;
    printf("请输入数据,当输入负数时结束:");
    while(1)
    {
        scanf("%d",&x);
        if(x<0)
        break;
        insert(x);
    }
    printf("数据输入完成:");
    Print();
    printf("请输入要删除的数据:");
    scanf("%d",&x);
    dele(x);
    printf("数据已删除:");
    Print();

}
  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-09-02 22:24
    关注
    if(temp==head) //判断数据是否为第一个
    {
                if(head->next != NULL)
                      head->next->front = NULL;
                head=head->next;
    }
    
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 9月2日

悬赏问题

  • ¥15 哪个tomcat中startup一直一闪而过 找不出问题
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网