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

首先创建一个新的节点newnode,在节点pos之前插入新的节点,因为不能遍历链表,所以不能用常规的插入操作来实现,我们先记录pos的下一个节点next,让新的节点的数据为pos节点的数据,再让pos节点的数据为新的节点的数据,这样,只要将新的节点链接到pos节点后面就可以实现。
这里写图片描述

typedef struct SListNode
{
    struct SListNode* _next;
    DataType _data;
}SListNode;
void SListInsertFrontNode(SListNode* pos, DataType x)
{
    assert(pos);
    SListNode* newNode = BuySListNode(x);
    SListNode* next = pos->_next;
    newNode->_data=pos->_data;
    pos->_data = x;
    newNode->_next = next;
    pos->_next = newNode;
}
阅读更多
文章标签: 单链表
上一篇删除一个无头单链表的非尾节点(不能遍历链表)
下一篇单链表实现约瑟夫环
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭