什么是復(fù)雜鏈表?
復(fù)雜鏈表指的是一個鏈表有若干個結(jié)點,每個結(jié)點有一個數(shù)據(jù)域用于存放數(shù)據(jù),還有兩個指針域,其中一個指向下一個節(jié)點,還有一個隨機指向當前復(fù)雜鏈表中的任意一個節(jié)點或者是一個空結(jié)點。今天我們要實現(xiàn)的就是對這樣一個復(fù)雜鏈表復(fù)制產(chǎn)生一個新的復(fù)雜鏈表。
復(fù)雜鏈表的數(shù)據(jù)結(jié)構(gòu)如下:
1 typedef int DataType; //數(shù)據(jù)域的類型 2 3 //復(fù)雜鏈表的數(shù)據(jù)結(jié)構(gòu) 4 5 typedef struct ComplexNode 6 7 { 8 9 DataType _data ; // 數(shù)據(jù)10 11 struct ComplexNode * _next; // 指向下個節(jié)點的指針12 13 struct ComplexNode * _random; // 指向隨機節(jié)點(可以是鏈表中的任意節(jié)點 or 空)14 15 }ComplexNode;