gpt4 book ai didi

c++ - 关于在链表开头插入节点(程序未正确执行)

转载 作者:行者123 更新时间:2023-11-28 06:01:32 24 4
gpt4 key购买 nike

#include <iostream>

using namespace std;

struct node{
int data;
node* link;
};

node* a;//global variable declared for creating head, not local as in 1.cpp

void Insert(int x);
void Print();

int main()
{
int i,n,x;

a=NULL;

cout<<"How many numbers do you want to enter?";
cin>>n;

for (i=0; i<n; i++) {
cout<<"Enter your desired numbers\n:";
cin>>x;
Insert(x);
Print();
}

return 0;
}

void Insert(int x)//first node from file 1
{
node* temp=new node();
temp->data=x;
temp->link=NULL;
a=temp;
}

void Print()//check this part out again.
{
node* temp=a;
cout<<"The list is";
while (temp!=NULL) {
cout<<temp->data;
temp=temp->link;

}

printf("\n");
}

我认为我创建的 Print 函数有问题。我尝试调试了几次,但无法找到解决方案你能告诉我它有什么问题吗?我想使用同样的方法,使用函数。

最佳答案

您没有正确创建链接。

void Insert(int x)
{
node* temp=new node();
temp->data=x;

// This makes temp a standalone node.
// temp->link=NULL;

// Make the link between the new node and the
// existing nodes.
temp->link= a;

a=temp;
}

关于c++ - 关于在链表开头插入节点(程序未正确执行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com