栈:插入,删除被限制在栈顶。先入后出。适合解决递归问题。
事实上递归本身就是用栈实现的。
n元素顺序进栈,出栈方式有C(2n,n)/(n+1)种。
队列:队头删除,队尾插入。先入先出。适合解决广度优先遍历问题。
循环队列:用数组实现时,利用取模运算实现队列。空一格以区别队空队满。
双端队列:两端均可插入删除。受限的话,就只有一端可以。
事实上栈和队列都可以看出受限的双端队列。
另,关于静态链表
静态链表是充分利用了数组的索引的链表结果。
它是一个对象二元组。数据域存放数据。链接域存放下一节点的数组索引值。