参考链接:
三分钟明白如何实现链表尾删_单链表尾删法_小小怪侠士的博客-CSDN博客
尾删
//plist为链表名,函数实现删除链表尾结点
bool delNode(LNode* plist) {
LNode* p = plist;
while ((p->next->next) != NULL) //寻找尾结点的前一个结点
{
p = p->next;
}
p->next = NULL; //删除尾结点
if ((p != NULL) && ((p->next) == NULL)) {
return true;
}
else
{
return false;
}
}
尾插
//参数:plist,要追加节点的链表指针,nVal,节点值
bool addNode(LNode* plist, int nVal) {
LNode* p = plist;
while ((p->next)!=NULL) //寻找尾结点
{
p = p->next;
}
LNode* L = (LNode*)malloc(sizeof(LNode));
L->data = nVal;
p->next = L;
p = L;
p->next = NULL;
if (((p->data) == nVal) && ((p->next) == NULL))
return true;
else
{
return false;
}
}