带头结点的单链表插入函数接口为LinkList LInsert(LinkList L, int a)

LinkList LInsert(LinkList L, int a)
{
    LinkList tail;
    LinkList pnew;
    pnew = (LinkList)malloc(sizeof(LNode));
    tail = L;
    pnew->data = a;
    
    pnew->next = NULL;
    L = pnew;
    tail = pnew;
    return L;
}这是我的代码

输入样例

8 6 4 9 8

输出样例是把链表print出来

8 6 4 9 8

我的代码输出出来只有一个9,只能输出链表最后一个节点的值,如何返回头结点呢。

修改如下,供参考:

LinkList LInsert(LinkList L, int a)
{
    LinkList tail=L;
    LinkList pnew;
    pnew = (LinkList)malloc(sizeof(LNode));
    pnew->data = a;
    pnew->next = NULL;
    pnew->next = tail->next;
    tail->next = pnew;
    return L;
}

 

你这个代码不对呀,如果插入链表尾部,要先遍历到链表尾部才能插入,如果放在链表头部的话应该这样写:

pnew->next = L->next;

L-next = pnew;

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632