鍊錶結點的物理順序與邏輯順序

2021-08-20 20:26:46 字數 927 閱讀 8577

已知乙個單向鍊錶各結點在儲存器中的物理順序,以及各結點之間的指向關係,要求輸出該鍊錶各結點的邏輯順序。

如圖所示的鍊錶,共有6個結點,按這6個結點在儲存器中的物理順序依次編號為1~6。第1個結點的指標域為p4,表示它指向第4個結點。在該圖中,符號「∧」表示空指標。

因此,這個鍊錶6個結點的邏輯順序為:6->1->4->2->5->3。

輸入檔案中包含多個測試資料。每個測試資料描述了乙個單向鍊錶:第一行為乙個自然數n,5≤n≤9,表示有n個結點;接下來有n行,第i+1行如果為pj,則表示第i個結點的指標域指向第j個結點,如果指標域為null,則表示空指標。輸入檔案最後一行為0,表示輸入結束。

輸入資料確保每個測試資料能表示乙個合理的單向鍊錶。

對輸入檔案中的每個測試資料,輸出n個結點的邏輯順序,相鄰兩個結點之間用符號「->」連線。

6

p4p5

null

p2p3

p10

6->1->4->2->5->3
copy的= - =

#includeusing namespace std;

char ch[5];

int t,st;

int a[9999];

struct node

n[9999];

void dfs(int x,int y)

int main()

dfs(st,1);

cout<=1;i--)

cout<}

return 0;

}

順序表與鍊錶

單向鍊錶 雙向鍊錶 迴圈鍊錶 插入刪除過程要注意,初始指標應指向鍊錶尾節點 若當插入到頭前時,找不到前驅節點 當在更新尾節點時需要更新頭指標 鍊錶排序使用氣泡排序最為適合 資料結構 結構定義 結構操作 include include include include define malloc2 my...

順序表與鍊錶

它是n個具有相同特性的資料元素的有限序列。線性表是一種在實際中廣泛使用的資料結構,常見的線性表 順序表 鍊錶 棧 佇列 字串 邏輯上連續,物理上不一定連續 儲存方式 通常是陣列或者鏈式結構 順序表是用一段實體地址連續的儲存單元依次儲存資料元素的線性結構,一般情況下採用陣列儲存。在陣列上完成資料的增刪...

順序表與鍊錶( )

鍊錶連續的儲存空間儲存任意元素。12 345結構定義 1 size 9 2 length 5 3 data type include include typedef struct vector vector void init vector vector,int size void clear ve...