栈与队列
学习方法讨论
不要完美主义。掌握好“度”。不用非要透彻理解才进行下一阶段学习
学习本着自己的目标去。
对于这个课程,大家的首要目标,是了解各个数据结构的底层实现原理
栈 Stack
LIFO (last in first out) 后进先出 的结构
Stack<E>
void push(E)
E pop()
E peek()
int getSize()
boolean isEmpty()
队列 Queue
队列也是一种线性结构 FIFO(First in First Out)
相比数组,队列对应的操作是数组的子集
只能从一端(队尾)添加元素,只能从另一端(队首)取出元素
Queue<E>
void enqueue(E)
E dequeue()、
E getFront()
int getsize()
boolean isEmpty()
数组队列
循环队列
front == tail 队列为空
(tail + 1) % c == front 队列满
index 指向了队尾 : (index + 1) % data.length = tail