用数组结构实现大小固定的队列和栈。
使用数组实现栈
核心思想
使用一个数组和一个size变量,通过size和0还有array.length的关系控制边界条件。size指向数组中存储的最后一个元素的下一个位置,同时也正是数组的size。
peek()和pop()就返回数组最后一个元素
代码
1 | public class ArrayStack { |
使用数组实现队列
核心思想
使用一个数组和三个额外的变量,一个size,一个first,保存队列头元素的索引,一个last,保存队列尾元素的索引。如果first或者last走到最后一个元素了,那么就修改其值为0,相当于从头开始。
代码
1 | public class ArrayQueue { |