关于C语言线性链表问题:

2020-05-17 体育 167阅读
//我把你的的倒序函数改了一下,你试试:
struct lnode *rotate(struct lnode *head_A)
{
struct lnode *p1,*p2,*p3;
p1 = head_A->next;
p3 = (struct lnode *)malloc(LEN);
p3->next = NULL;
while(p1)
{ // 从链表中取一个节点 p2 记录它
p2 = p1;
head_A->next = p1->next;
p1 = p1->next;
// 倒插入p3为头节点的链表
if(p3->next == NULL)
{
p3->next = p2;
}
else
{
p2->next = p3->next;
p3->next = p2;
}

}
head_A->next = p3->next; //用head_A替换p3
free(p3); // 释放p3空间
return head_A;
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com