浅谈复杂链表的复制
2016-06-03 13:15
246 查看
链表是一种很常见的数据结构,单链表、双向链表、循环链表和复杂链表都是其衍生物。复杂链表之所以命名为复杂链表,也正是由于其结构的复杂。它比其他其他种类的链表多了一个指针域,这个指针域可以指向链表中的任一结点,也可以为空。其结构定义如下:
[code=cpp;toolbar:false">struct ComplexNode
{
DataType _data;
struct ComplexNode * _next;
struct ComplexNode * _random;//随机域
};void ConnectRandom(ComplexNode *pHead)
{
ComplexNode *pNode=pHead;
while(pNode!=NULL)
{
ComplexNode *pCopy=pNode->_next;
if(pNode->_random!=NULL)
{
pCopy->_random=pNode->_random->_next;
}
pNode=pCopy->_next;
}
}
[code=cpp;toolbar:false">struct ComplexNode
{
DataType _data;
struct ComplexNode * _next;
struct ComplexNode * _random;//随机域
};void ConnectRandom(ComplexNode *pHead)
{
ComplexNode *pNode=pHead;
while(pNode!=NULL)
{
ComplexNode *pCopy=pNode->_next;
if(pNode->_random!=NULL)
{
pCopy->_random=pNode->_random->_next;
}
pNode=pCopy->_next;
}
}
相关文章推荐
- 一个数组实现两个栈
- 应用栈求解迷宫问题(C++实现)
- 智能指针的简单剖析和实现
- 链表笔试题汇编(五)
- C++实现单链表
- 利用C++类实现顺序表
- oracle 同时要求同时两个字段都要满足的去除
- string类的实现终极版
- Android 兼容 小问题
- string类的实现加强版
- 将java.util.Date类型转换成json时,使用JsonValueProcessor将date转换成希望的类型
- string类的实现
- 利用C++日期类实现简单的日期计算器
- 链表笔试题汇编(四)
- CentOS 7系统之 lamp (php-fpm)详解
- 关于移植arm程序到x86遇到的struct对齐问题
- 链表笔试题汇编(三)
- 链表笔试题汇编(二)
- 链表笔试题汇编(一)
- Linux的inode的理解