2014-01-24 47 views
0

我有一些僞代碼,我試圖標籤。那就是:這個僞代碼代表什麼數據結構或者採取什麼行動?

a= head 
while a.value < b.value do a = a.next 
b.next = a.next 
a.next = b 

對我來說,這似乎是一個單獨或雙向鏈表上使用的代碼,但我至少證明它並不像雙向鏈表。有誰知道這將來自或採取什麼樣的數據結構?謝謝。

回答

0

這是一個單鏈表。它看起來像一個例程,按照排序順序將節點b插入到列表中。鏈接next鏈接和缺少prev鏈接高度指示單鏈接列表。如果這個例程做了我認爲它所做的事情,但是,它看起來有問題;它似乎沒有處理b的值大於列表中所有值的情況。

+0

好的,這與雙向鏈表不同的地方在於,a被指定爲「head」,而在雙向鏈表中,這不需要指定?它是否正確? –

+1

@ Turtle-in-a-bash-shell:No.前兩行對於雙向鏈表是相同的。我們可以說這不是雙向鏈接的,因爲對於一個雙向鏈表,代碼將不得不更新與其修改的「下一個」鏈接對應的'prev'鏈接。 – user2357112

+0

好的,陷阱。這就說得通了。謝謝。 –