0
自從我訪問了SO以來已經有一段時間了。無論如何,讓我切入追逐。我有一個家庭作業,要求用鏈表和一個列表抽象數據類型執行各種任務。除了最後一個問題,我要求將ADT中的元素顛倒過來之外,我已經完成了所有工作。我已經爲鏈表完成了這項工作,但是我陷入了ADT部分的列表中。我的電訊管理局局長曾提及用ADT清單比用鏈表更容易,但我不知道從哪裏開始。也許我正在反思它。任何人都可以指引我朝着正確的方向嗎?這裏是我的逆序鏈接列表的僞代碼:顛倒列表中的元素ADT
c = pointer to current node
p = pointer to previous node
n = pointer to next node
H = head pointer
c <- H
if (c.next != null)
n <- c.next
while (n.next != null) {
p <- c
c <- n
n <- c.next
c.next -> p
}
if (H.next != null)
H.next -> n
if (n != null AND c != null)
n.next -> c
任何和所有幫助,將不勝感激。
感謝您的快速回復。然而,我的教授所要求的不是特定於Java。當他說ADT列表時,我認爲他意味着以一種可以使用基本數據結構(如數組或鏈表或類似的東西)實現的僞代碼。 – Mike
在這種情況下,我會說看看迭代列表的值,並可能將它們反向放入新列表中。如果不允許使用新對象,則假設您可以使用索引,交換值也是可行的。 – Rogue
我實際上去了辦公時間尋求幫助,並被告知,不要使用索引:(創建一個新的對象是唯一的方法,在這種情況下? – Mike