Java教程

链表删除单个节点

本文主要是介绍链表删除单个节点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

考虑条件

  1. 是否为空(链表是否为空,是否能找到所删的值)
  2. 是否是首节点(根据:可能没有前一个节点)

流程

  1. 找到要删除的节点位置
  2. 判断是否为空
  3. 判断是否是头结点,进行相应的操作
void LinkList::deletenode(int value) {
	Node* pre = 0; Node* p = pHead;
	for (; p; p = p->next) {
		if (p->data == value) break;
		pre = p;
	}
	if (p != 0) {
		if (pre) {//判断是否是首节点
			pre->next = p->next;
		}
		else {
			pHead = p->next;//重新设置头指针
		}
		delete p;
	}
	else cout << "无法找到所删除的值" << endl;
}```

这篇关于链表删除单个节点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!