2011-05-21 38 views

回答

2

在我看来,有一个数据结构,它提供了这个功能没有共同的名字。取决于由get()提供的列表中的顺序上它类似于一个队列

假设Java中,这可能会为你工作(未测试):

import java.util.ArrayList; 
import java.util.Collection; 
import java.util.Stack; 

public class FlushStack<E> extends Stack<E> { 

    public Collection<E> get() { 
     ArrayList<E> elements = new ArrayList<E>(this); 
     this.clear(); 
     return elements; 
    } 

} 
+0

是啊,我想你是对的,因为它让我跟着你的建议无法找到任何名称和称它为Flush * :-) – 2011-09-22 02:00:03

2

它基本上是一个堆栈,只有 “搞定” 做一个反复出现的 “流行音乐”,直到堆栈为空。 伪代码,这将是这样的:

def push (v): stack.push (v) 

def get(): 
    retVal = [] 
    while stack.isNotEmpty: retval += [stack.pop() ] 
    return retVal 
+0

这是Python的:) – schlamar 2012-06-26 06:30:32