栈:插入,删除被限制在栈顶。先入后出。适合解决递归问题。

事实上递归本身就是用栈实现的。

n元素顺序进栈,出栈方式有C(2n,n)/(n+1)种。

队列:队头删除,队尾插入。先入先出。适合解决广度优先遍历问题。

循环队列:用数组实现时,利用取模运算实现队列。空一格以区别队空队满。

双端队列:两端均可插入删除。受限的话,就只有一端可以。

事实上栈和队列都可以看出受限的双端队列。      

 

 

另,关于静态链表

静态链表是充分利用了数组的索引的链表结果。

它是一个对象二元组。数据域存放数据。链接域存放下一节点的数组索引值。