瓷瓷的可可 2023-09-27 23:39 采纳率: 100%
浏览 6
已结题

遍历链表结果怎么不对?

遍历链表怎么多输出了一部分,哪里出错了?


#include <iostream>
#include<stdio.h>

using namespace std;
typedef int Elemtype;
typedef struct ListNode {
     Elemtype val;
    struct ListNode* next;
 } ListNode,* List;
List create_list(){
    int length,value;
    List l1=(List)malloc(sizeof(ListNode));
    l1->next=NULL;
    List t=l1;
    if (NULL == l1)
    {
        cout<<"分配内存失败,程序结束!\n"<<endl;
        exit(-1);
    }
    cout<<"输入链表节点个数:";
    cin>>length;
    for(int i=0;i<length;i++){
        printf("输入第%d个节点的值:",i+1);
        cin>>value;
        List p=(List)malloc(sizeof(ListNode));
        p->next=NULL;
        t->val=value;
        t->next=p;
        t=t->next;
    }
  return l1;
}

int main()
{
   List s;
   s=create_list();
//   for(int i=0;i<3;i++){
//        printf("%d", s->val);
//        s= s->next;
//   }
    while (s!=NULL)
    {
        printf("%d", s->val);
        s= s->next;
    }

    return 0;
}

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-27 23:51
    关注

    该回复引自免费微信小程序-皆我百晓生:


    在创建链表的过程中,你没有正确地连接节点之间的关系。在每次创建新节点时,你应该将新节点连接到上一个节点的next指针上,而不是将新节点赋值给上一个节点的next指针。修改create_list函数如下:

    List create_list(){
        int length,value;
        List l1=(List)malloc(sizeof(ListNode));
        l1->next=NULL;
        List t=l1;
        if (NULL == l1)
        {
            cout<<"分配内存失败,程序结束!\n"<<endl;
            exit(-1);
        }
        cout<<"输入链表节点个数:";
        cin>>length;
        for(int i=0;i<length;i++){
            printf("输入第%d个节点的值:",i+1);
            cin>>value;
            List p=(List)malloc(sizeof(ListNode));
            p->val=value;
            p->next=NULL;
            t->next=p;
            t=t->next;
        }
      return l1;
    }
    

    这样修改后,你的遍历链表的代码就能正确输出链表的值了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 创建了问题 9月27日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画