0
点赞
收藏
分享

微信扫一扫

链表清空及销毁的简单实现

小编 2022-04-05 阅读 55
链表

链表清空及销毁的简单实现

  • 链表的节点定义
struct LinkNode
{
	int data;
	struct LinkNode *next;
};
  • 清空链表的函数实现
    创建两个辅助节点指针:当前节点指针pCurrentNode、后继节点指针pNextNode
void clearLinkList(struct LinkNode *pHeader)
{
	if(pHeader == NULL)
		return;
	pCurrentNode = pHeader->next;
	struct LinkNode *pNextNode;
	
	while(pCurrentNode != NULL)
	{
		pNextNode = pCurrent->next;
		free(pCurrentNode);
		pCurrent = pNextNode;	
	}
	//释放完有数据域的节点后,还需将头节点指向空
	pHeader->next = NULL;
}
  • 销毁链表的函数实现
    销毁链表其实就是在清空链表的基础上,将头节点释放掉
void destoryLinkList(struct LinkNode *pHeader)
{
	if(pHeader == NULL)
		return;
	clearLinkList(pHeader);
	free(pHeader);
	pHeader = NULL;
}
举报

相关推荐

0 条评论