gpt4 book ai didi

c++ - 使用for循环在链表中添加数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:45:31 25 4
gpt4 key购买 nike

我想使用 for 循环将数据添加到链表中。我期望的是 1 2 3 4 5 6 7 8 9 10我得到的 O/P 是 1 1 1 1 1 1 1 1 1 1

#include <iostream>
using namespace std;
struct NODE
{
int data;
NODE *next;
};
int main()
{
int i,j=0;
NODE *start=NULL,*ptr,*temp;
for (i=1;i<=10;i++)
{
ptr = new NODE;
ptr->data=i;
ptr->next=NULL;
if(start==NULL)
start=ptr;
else
{
temp=start;
while(temp->next!=NULL)
temp=temp->next;
temp->next=ptr;
}
}
temp=start;
while(temp->next!=NULL)
{
cout<<start->data<<" ";
temp=temp->next;
}
return 0;
}

这个程序有什么问题??

最佳答案

错的是这个循环

temp=start;
while(temp->next!=NULL)
{
cout<<start->data<<" ";
temp=temp->next;
}

按照下面的方式修改

for ( temp = start; temp; temp = temp->next ) cout << temp->data << ' ';

或者如果你想使用 while 循环那么

temp = start;
while ( temp )
{
cout << temp->data << ' ';
temp = temp->next;
}

此外,我将使用 name next 而不是 name temp。例如

for ( NODE *next = start; next; next = next->next ) cout << next->data << ' ';

关于c++ - 使用for循环在链表中添加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19713256/

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