一、插入函数
1、思路
- 用指针p遍历链表,pre记录p结点前驱,pnew指向新建结点
p->data==key
时,在pre与p之间插入pnew即可。
- 链表遍历完,也承之完成了插入操作
2、代码
/// @brief 在key元素所在结点前插入元素值为x的新结点
void yyy_insert(myLNode* phead, linkType key, linkType x)
{
if (phead == NULL || phead->pnext == NULL)
{
return;
}
myLNode* p = phead->pnext;
myLNode* pre = phead;
myLNode* pnew = NULL;
while (p != NULL)
{
if (p->data == key)
{
pnew = (myLNode*)malloc(sizeof(myLNode));
assert(pnew);
pnew->data = x;
pnew->pnext = pre->pnext;
pre->pnext = pnew;
}
pre = p;
p = p->pnext;
}
}