2个双向循环链表删除相同值
来源:互联网 发布:乱码转换软件 编辑:程序博客网 时间:2024/05/18 02:33
有双向循环链表结点定义为:
struct node
{ int data;
struct node *front,*next;
};
有两个双向循环链表 A, B,知道其头指针为: pHeadA,pHeadB,请写一函数将两链表中 data 值相同的结点删除
BOOL DeteleNode(Node *pHeader, DataType Value)
{
if (pHeader == NULL) return;
BOOL bRet = FALSE;
Node *pNode = pHead;
while (pNode != NULL)
{
if (pNode->data == Value)
{
if (pNode->front == NULL)
{
pHeader = pNode->next;
pHeader->front = NULL;
}
else
{
if (pNode->next != NULL)
{
pNode->next->front = pNode->front;
}
pNode->front->next = pNode->next;
}
Node *pNextNode = pNode->next;
delete pNode;
pNode = pNextNode;
bRet = TRUE;
}
else
{
pNode = pNode->next;
}
return bRet;
}
struct node
{ int data;
struct node *front,*next;
};
有两个双向循环链表 A, B,知道其头指针为: pHeadA,pHeadB,请写一函数将两链表中 data 值相同的结点删除
BOOL DeteleNode(Node *pHeader, DataType Value)
{
if (pHeader == NULL) return;
BOOL bRet = FALSE;
Node *pNode = pHead;
while (pNode != NULL)
{
if (pNode->data == Value)
{
if (pNode->front == NULL)
{
pHeader = pNode->next;
pHeader->front = NULL;
}
else
{
if (pNode->next != NULL)
{
pNode->next->front = pNode->front;
}
pNode->front->next = pNode->next;
}
Node *pNextNode = pNode->next;
delete pNode;
pNode = pNextNode;
bRet = TRUE;
}
else
{
pNode = pNode->next;
}
return bRet;
}
void DE(Node *pHeadA, Node *pHeadB)
{
if (pHeadA == NULL || pHeadB == NULL)
{
return;
}
Node *pNode = pHeadA;
while (pNode != NULL)
{
if (DeteleNode(pHeadB, pNode->data))
{
if (pNode->front == NULL)
{
pHeadA = pNode->next;
pHeadA->front = NULL;
}
else
{
pNode->front->next = pNode->next;
if (pNode->next != NULL)
{
pNode->next->front = pNode->front;
}
Node *pNextNode = pNode->next;
delete pNode;
pNode = pNextNode;
}
else
{
pNode = pNode->next;
}
}
}
0 0
- 2个双向循环链表删除相同值
- 删除两个双向循环链表的相同节点
- 删除两个双向循环链表的相同节点
- 删除两个双向循环链表的相同节点
- 删除两个双向循环链表的相同节点
- 删除两个双向循环链表中具有相同值的节点
- 经典面试题--两个双向链表删除相同值
- 两个双向链表删除相同元素
- 有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除
- 雅虎面试题─有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除
- 有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除
- 有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除。
- 有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除
- 有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除
- 双向循环链表的删除
- 双向循环链表的插入删除
- 双向循环链表 初始化 插入 删除
- 雅虎面试题─将两个双向循环链表中data值相同的结点删除
- java基础---数组
- CSAPP Chapter3 node2
- 在64位操作系统中重编译hadoop 2.2.0
- 电子业务网站
- 事件监听
- 2个双向循环链表删除相同值
- 统计单词数目及单词首字母大写
- NotificationManager 、 Notification。再次理解
- [Nodejs 实战]准备Nodejs开发环境 + Express 3配置 + AngelJS配置
- test
- OpenCV基础01
- c语言,预处理命令
- 静态路由与默认路由的配置
- 学习vi和vim编辑器(12):高级编辑方法(3)