在无头单链表的一个节点前插入一个节点(不能遍历)

例如
无头链表 A—>B—>C—>D 在节点C前面插入一个节点

这里写图片描述

思路: 乾坤大挪移

 在C的后插入一个节点,可以将C后面新插入的节点Q的值与C的值交换
 即可实现C节点之前插入节点的功能
void  Listentry(ListNode** phead, LinkNode* pos ,Datatype value)
{
    if(pos==NULL||phead==NULL)
    {    //非法
        return ;
    }
    //若pos在头节点 ,调用头插
    ListPushFront(&phead);
    //若在常规位置使用    乾坤大挪移
     LinkNode* new=ListCreate();
     new->data=value;
     new->next=pos->next;
     pos->data=new->data;
     pos->next=new;
}

猜你喜欢

转载自blog.csdn.net/yu876876/article/details/80587175
今日推荐