typedef 構造体ノード{ 構造体ノード*次に、* プレ; INT データ; } DSLink、 無効 intiDSLink(DSLink *&L、INT * A、int型L){ // 第1のノードを作成 L =(DSLink *)はmalloc(はsizeofを(DSLink )); L - > L-次に=>予備= NULL; DSLink * S * プレ; // ノードを作成 するための(int型 I = 0を Iは、Lを<; Iは++ ){ // 第1の補間方法 S =(DSLinkを*)のmalloc(sizeof(DSLink)); //は、メモリ空間を割り当て 、S->データ= A [I] // 割り当て ; S-> L =プリ// ノードの前のノードに前方ポインタ点 S->次= L- >次に; // ノードの前のノードへのポインタ L->次に= S; // 接合 } DSLink * = L-次に>次に、* = L-T> 次に、 // 出力 しながら( !次に= NULL){ COUT <<ネクスト>データ<< " " ; 次に =ネクスト> 次に; } // 重複を削除し、破壊 次に= L-> 次に、 予備 = L。 一方、(!次= NULL){ 場合(プレ>データ==ネクスト> データ){ // 删除相等元素 プレ>次=ネクスト> 次。 次 - >ネクスト>前= 前; 裁判所未満 << " 删除" <<ネクスト>データ<< " " ; // 释放结点 無料(次の); 次 =プレ> 次。 } 他{ 前 = 次; 次回 =ネクスト> 次; } } // 输出 DSLink * N = T。 一方、(N!= NULL){ COUT << N->データ<< " " 。 N = N> 次。 } }