栈是限定仅在表尾进行插入和删除操作的线性表。
弊端: 需要事先确定数组存储空间大小
数组有两个端点,两个栈有两个栈底,让一个栈的栈底为数组的始端,即下标为0处,另一个栈为栈的末端,即下标为数组长度n-1处。这样,两个栈如果增加元素,就是两端点向中间延伸。
链栈
队列是只允许在一端进行插入操作、而在另一端进行删除操作的线性表。
弊端: 数组插入和删除时需要移动数据
循环队列的队头和队尾可以在数组中循环变化, 解决了移动数据的时间损耗。 使原本插入和删除使O(n) 的时间复杂度变成了O(1)
链队列