gpt4 book ai didi

c - 链表插入和选择

转载 作者:行者123 更新时间:2023-11-30 18:23:05 24 4
gpt4 key购买 nike

我按照常用的方式定义链表,即使用数据部分和

自引用指针。我的插入逻辑如下:

struct node
{
int data; //or any type.
struct node *nextPtr;
}*start = NULL;
//main
struct *newPtr = (struct node *)malloc(sizeof(struct node *));
scanf("%d", newPtr->data); //or cout
newPtr->nextPtr = NULL;
if(start == NULL)
start = newPtr;
else
{
while(tempPtr->nextPtr != NULL)
{
tempPtr = tempPtr->nextPtr;
}
tempPtr->nextPtr = newPtr;
}

i) 这个逻辑正确吗?

ii) a) 当我插入两个节点(在一个系统中)或三个节点(在另一个系统中)时,我可能会遇到运行时错误。b) 每次插入节点时,节点都会按正确的顺序插入。

此代码是否会导致运行时错误......???

最佳答案

struct node
{
int data; //or any type.
struct node *nextPtr;
}*start = NULL;
//main
struct *newPtr = (struct node *)malloc(sizeof(struct node));// You dont need * here

scanf("%d", newPtr->data); //or cout
newPtr->nextPtr = NULL;

if(start == NULL)
start = newPtr;
else
{
tempPtr = start; // you missed this.
while(tempPtr->nextPtr != NULL)
{
tempPtr = tempPtr->nextPtr;
}
tempPtr->nextPtr = newPtr;
}

关于c - 链表插入和选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9431286/

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