它只有两个操作很简单,你可以推的值,或得到的所有值,从结构中清除所有这些值。可以使用队列聚合轻松实现。这是否类似队列数据结构有名字吗?
push(value)
get() -> list of values, clears contents
它只有两个操作很简单,你可以推的值,或得到的所有值,从结构中清除所有这些值。可以使用队列聚合轻松实现。这是否类似队列数据结构有名字吗?
push(value)
get() -> list of values, clears contents
在我看来,有一个数据结构,它提供了这个功能没有共同的名字。取决于由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;
}
}
它基本上是一个堆栈,只有 “搞定” 做一个反复出现的 “流行音乐”,直到堆栈为空。 伪代码,这将是这样的:
def push (v): stack.push (v)
def get():
retVal = []
while stack.isNotEmpty: retval += [stack.pop() ]
return retVal
这是Python的:) – schlamar 2012-06-26 06:30:32
是啊,我想你是对的,因为它让我跟着你的建议无法找到任何名称和称它为Flush * :-) – 2011-09-22 02:00:03