什么是复杂链表?
复杂链表指的是一个链表有若干个结点,每个结点有一个数据域用于存放数据,还有两个指针域,其中一个指向下一个节点,还有一个随机指向当前复杂链表中的任意一个节点或者是一个空结点。今天我们要实现的就是对这样一个复杂链表复制产生一个新的复杂链表。
复杂链表的数据结构如下:
1 typedef int DataType; //数据域的类型 2 3 //复杂链表的数据结构 4 5 typedef struct ComplexNode 6 7 { 8 9 DataType _data ; // 数据10 11 struct ComplexNode * _next; // 指向下个节点的指针12 13 struct ComplexNode * _random; // 指向随机节点(可以是链表中的任意节点 or 空)14 15 }ComplexNode;