在学习链表的最后,我们接触了复杂链表。一个链表的每个节点,有一个指向next指针指向下一个节点,还有一个random指针指向这个链表中的一个随机节点或者NULL,现在要求实现复制这个链表,返回复制后的新链表。
首先定义链表结构:
typedef struct ComplexNode//复杂链表的结构
{
DataType data;
struct ComplexNode *_next;
struct ComplexNode *_random;
}ComplexNode;
复杂链表的动态开辟,与主函数的测试: