1. 程式人生 > >【資料結構】複雜連結串列的複製

【資料結構】複雜連結串列的複製

複雜連結串列的結構體

 typedef struct ComplexNode {
	int data;
	struct ComplexNode *next;
	struct ComplexNode *random;
}	CN;

在這裡插入圖片描述

初始化

CN * CreateNode(int data)//初始化
{
	CN *node = (CN *)malloc(sizeof(CN));
	node->data = data;
	node->random = node->next = NULL;
	return node;
}

構造複雜連結串列

CN * CNInit()//構造了一個複雜連結串列
{
	CN * n1 = CreateNode(1);
	CN * n2 = CreateNode(2);
	CN * n3 = CreateNode(3);
	CN * n4 = CreateNode(4);
	n1->next = n2;
	n2->next = n3;
	n3->next = n4;
	n1->random = n3;
	n2->random = n1;
	n3->random = n3;
}

複雜連結串列的複製