0

自从我访问 SO 以来已经有一段时间了。无论如何,让我切入正题。我有一个家庭作业,要求使用链表和列表抽象数据类型执行各种任务。我已经完成了一切,除了最后一个问题要求我反转列表 ADT 中的元素。我已经为链接列表做了这个,但是我被困在列表 ADT 部分。我的 TA 提到使用列表 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

任何和所有的帮助将不胜感激。

4

1 回答 1

1

如果通过使用 List ADT 它们意味着Listjava 中的抽象对象,那么您可能只想研究使用Collections.reverse()

List<String> myList = new LinkedList<String>();
Collections.reverse(myList);

如果您要“ADT”的其他内容,请务必告诉我

于 2013-09-26T15:28:28.113 回答