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

题目:

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

解题思路:

因为是无头节点,所以我们不知道给定位置之前的值。所以只能在给定位置pos之后插入。首先先申请一个节点空间,将新节点插入到给定位置pos的后面,然后将给定节点pos的值赋给新节点,然后再将要插入的值赋给pos。

如下图:

代码实现:

void InsertNode(SListNode *pos,DataType data)
{
	assert(pos);
	SListNode *pNewNode = (SListNode *)malloc(sizeof(SListNode));
	pNewNode->data = pos->data;
	pNewNode->pNext = pos->pNext;
	pos->pNext = pNewNode;
	pos->data=data;
}

猜你喜欢

转载自blog.csdn.net/qq_41889292/article/details/80725852
今日推荐