Curz酥 2022-08-23 12:27 采纳率: 90.9%
浏览 64
已结题

头插法建立单链表运行不出正确结果

我写的头插法建立单链表如下,但是运行出来的结果是错的,不知道是代码哪里写错了呢?

#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996);

typedef struct LinkList {
    int data;
    struct LinkList* next;
}Linklist;

void List_headinsert(LinkList* L) {
    LinkList* node;
    int x;
    scanf("%d", &x);
    L = (LinkList*)malloc(sizeof(LinkList));
    while (x != -1) {    //输入-1跳出
        node = (LinkList*)malloc(sizeof(LinkList));
        node->data = x;
        node->next = L->next;
        L->next = node;
        scanf("%d", &x);
    }
}

int main() {
    Linklist l;
    LinkList* L;
    L = &l;

    List_headinsert(L);

    while (L != NULL) {    //打印单链表
        printf("%d ", L->data);
        L = L->next;
    }

    return 0;
}

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-08-23 12:47
    关注

    修改见注释,供参考:

    #include <stdio.h>
    #include <stdlib.h>
    #pragma warning(disable:4996);
    
    typedef struct LinkList {
        int data;
        struct LinkList* next;
    }Linklist;
    
    void List_headinsert(LinkList** L) { //修改 LinkList* L
        LinkList* node;
        int x;
        scanf("%d", &x);
        (*L) = (LinkList*)malloc(sizeof(LinkList)); //修改
        (*L)->next = NULL;                           //修改
        while (x != -1) {    //输入-1跳出
            node = (LinkList*)malloc(sizeof(LinkList));
            node->data = x;
            node->next = (*L)->next; //修改
            (*L)->next = node;       //修改
            scanf("%d", &x);
        }
    }
    
    int main() {
        //Linklist l; //修改 定义的 l 是变量,它的空间已经分配了,是静态的,在这代码里是多余的。
        LinkList* L, * p;
        L = NULL; //L = &l; 修改
    
        List_headinsert(&L); //修改
    
        p = L->next;          //修改
        while (p != NULL) {    //打印单链表
            printf("%d ", p->data); //修改
            p = p->next;      //修改
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月31日
  • 已采纳回答 8月23日
  • 创建了问题 8月23日

悬赏问题

  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据