反转列表ADT中的元素

时间:2013-09-26 15:23:17

标签: list types reverse abstract pseudocode

我去过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

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

1 个答案:

答案 0 :(得分:1)

如果使用List ADT它们是指java中的抽象List对象,那么您可能只想查看使用Collections.reverse()

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

如果您要为“ADT”提出其他要求,请务必告诉我