資料結構之鏈表面試題 複雜鍊錶的複製

2021-08-18 14:00:02 字數 967 閱讀 9929

#pragma once

#define _crt_secure_no_warnings 1

#include

#include

#include

typedef int datatype;

typedef struct complexlistnode

complexlistnode, *pcomplexlistnode;

//複雜鍊錶的初始化

complexlistnode* buycomplexlistnode(datatype x);

//拷貝原複雜鍊錶

complexlistnode* copycomplexlistnode(pcomplexlistnode phead);

//列印鍊錶

void printcomplexlistnode(pcomplexlistnode phead);

//複雜鍊錶的初始化

complexlistnode* buycomplexlistnode(datatype x)

return pnewcomplexlistnode;

}//拷貝原複雜鍊錶

complexlistnode* copycomplexlist(pcomplexlistnode phead)

}//給新插入節點的隨機指標域賦值

poldnode = phead;

while (poldnode)

//將新插入的鍊錶從原煉表中分離

poldnode = phead;

pnewnode = poldnode->_next;

while (poldnode)

}//列印鍊錶

void printcomplexlistnode(pcomplexlistnode phead)

else

pcur = pcur->_next;

}}

鏈表面試題3 複雜鍊錶

struct clnode 複雜鍊錶 clnode,clpnode,cllist,clplist clpnode clbuynode datatype d clplist data d clplist next null clplist random null return clplist void...

鏈表面試題之複雜鍊錶的複製

我們常用的鍊錶基本都是單鏈表和雙向鍊錶,兩種鍊錶不同在於雙向鍊錶比單鏈表多了乙個指向當前節點的前乙個節點的指標域。而複雜鍊錶,相比單鏈表多了乙個指向任意位置的隨機域。複雜鍊錶的結構如下 struct complexnode 因為多了乙個隨機域指標,所以導致了複製該鍊錶時因為隨機域的難以控制而使複製過...

資料結構 鏈表面試題總

以下 是在vs2013下編寫的 我們先來看一下測試結果 include include include include 鍊錶的定義 typedef int datatype typedef struct slistnode slistnode 初始化 void slistinit slistnode...