int position(int key)
{
struct node *new=(struct node*)malloc(sizeof(struct node));
struct node *p1=head;
while(p1->info!=key&&p1->link!=NULL)
p1=p1->link;
return struct node *p1;
}
void insertafter()
{
struct node *new=(struct node*)malloc(sizeof(struct node));
struct node *p1=head;
p1=position();
}
字符串
我想把函数position中p1的值返回给insertafter()。那么position的返回类型是什么,因为它返回的是一个结构节点,我应该如何给予return语句。Key是我必须插入新节点的值。
1条答案
按热度按时间92vpleto1#
看来你的思路是对的!不过,还有一些地方需要修正。
在
position
函数中,你应该处理head
是NULL
的情况,以避免解引用空指针。另外,你不需要在这个函数中为new
分配内存。下面是正确的position
函数:字符串
在
insertafter
函数中,请确保处理position
返回NULL
(表示未找到密钥)的情况。此外,在使用new
之前必须为new
分配内存。下面是更正后的insertafter
函数:型
确保在实际代码中正确处理内存分配和释放。另外,正确初始化
head
并考虑列表为空的情况。