非泛型Stack类声明“堆栈被实现为循环缓冲区”。
我不了解循环缓冲区在 Stack 用例中的应用。我也不明白如何将堆栈实现为循环缓冲区。
维基百科是这样说的:
循环缓冲区的有用属性是它不需要在消耗一个元素时对其元素进行混洗。(如果使用非循环缓冲区,则需要在消耗一个元素时移动所有元素。)换句话说,循环缓冲区非常适合作为 FIFO 缓冲区,而标准的非循环缓冲区非常适合作为一个后进先出缓冲器。
对于具有固定最大大小的队列,循环缓冲是一种很好的实现策略。
那么......堆栈是如何实现为循环缓冲区的,为什么?