Data structures 这个类似队列的数据结构有名称吗?
它非常简单,只有两个操作,您可以推送一个值,或者获取所有值,从结构中清除所有这些值。可以使用队列聚合轻松实现Data structures 这个类似队列的数据结构有名称吗?,data-structures,Data Structures,它非常简单,只有两个操作,您可以推送一个值,或者获取所有值,从结构中清除所有这些值。可以使用队列聚合轻松实现 push(值) get()->值列表,清除内容 它基本上是一个堆栈,只有“get”会重复“pop”,直到堆栈为空。 在伪代码中,这类似于: def push (v): stack.push (v) def get (): retVal = [] while stack.isNotEmpty: retval += [stack.pop () ] return r
push(值)
get()->值列表,清除内容
def push (v): stack.push (v)
def get ():
retVal = []
while stack.isNotEmpty: retval += [stack.pop () ]
return retVal
在我看来,提供此功能的数据结构没有通用名称。根据
get()
提供的列表顺序,它类似于堆栈或队列
假设使用Java,这可能适用于您(未经测试):
import java.util.ArrayList;
导入java.util.Collection;
导入java.util.Stack;
公共类FlushStack扩展了堆栈{
公共集合get(){
ArrayList元素=新的ArrayList(此);
这个.clear();
返回元素;
}
}
是的,我想你是对的,找不到它的名字,所以我按照你的建议,叫它Flush*:-)
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;
}
}