您的位置:首页 > 其它

浅谈复杂链表的复制

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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: