这段代码实现了一个函数chaifen
,用于将链表A中的奇数节点分离出来,存放在链表B中。
void chaifen(SLinkNode *&A, SLinkNode *&B)
{
SLinkNode *p = A->next;
SLinkNode *s, *r = B;
while (p != NULL)
{
if (p->data % 2 != 0) // 判断当前节点的值是否为奇数
{
s = (SLinkNode *)malloc(sizeof(SLinkNode)); // 创建新节点
s->next = NULL;
s->data = p->data;
r->next = s; // 将新节点插入到链表B中
r = s; // 更新r指向新节点
}
p = p->next; // 遍历下一个节点
}
}
其中,SLinkNode
是链表节点的数据结构,包含两个成员:data
存储数据值,next
指向下一个节点。函数通过遍历链表A的所有节点,找出奇数值的节点并将其插入到链表B中。注意,在使用完毕后需要手动释放分配的内存空间。
内容由零声教学AI助手提供,问题来源于学员提问