您的位置:首页 > 编程语言

编程之美:第三章 结构之法 3.4从无头单链表中删除节点

2015-08-03 00:53 288 查看
/*
从无头单链表中删除节点:
假设有一个没有头指针的单链表。一个指针指向此单链表中间的某一个节点(不是第一个,也不是最后一个),请将该节点从单链表中删除

参见:剑指offer在O(1)时间删除节点,本质上是将后面节点的节点值赋给待删除节点,然后删除后面的节点即可。
*/

/*
关键:
1 	if(pNext)//这里还要对pNext不空进行判断
*/

#include <stdio.h>

typedef struct Node
{
	int _iVal;
	Node* _next;
}Node;

void deleteNodeInO1(Node* pCurrent)
{
	if(!pCurrent)
	{
		return;
	}
	Node* pNext = pCurrent->_next;
	if(pNext)//这里还要对pNext不空进行判断
	{
		pCurrent->_iVal = pNext->_iVal;
		pCurren->_next = pNext->_next;
		delete pNext;
	}
}

void process()
{

}

int main(int argc,char* argv[])
{
	process();
	getchar();
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: