为什么在使用列表获得相同的功能时,是否应该实现堆栈或队列?
答案 0 :(得分:6)
堆栈和队列可能基于列表,但它们具有特定的行为。它需要较少的实施,并为您提供更具体和明确的行为。
答案 1 :(得分:4)
为什么只允许/需要允许访问front或tail元素时,允许直接访问集合中的所有元素?
此外,stack.pop()
比list.remove(list.size()-1)
更容易理解,同样适用于大多数其他堆栈和队列操作。
答案 2 :(得分:2)
http://introcs.cs.princeton.edu/java/43stack/
上面的链接将向您解释为什么他们已经介绍了
这些新结构的引入只是为了保持更快的性能,而不是再次重写类......
答案 3 :(得分:2)
通常,在实现更具体的数据结构时,可以在数据结构实现和使用API中实现更高的效率。