顺序栈
卡特兰(Catalan)数:n个不同元素进栈,出栈不同排列的个数为1/(n+1)C^n 2n
共享栈
(1)栈满条件:两个栈顶指针相邻(top2-top1==1)
(2)好处:节省存储空间,降低发生上溢的可能
(3)对存取时间无影响
链栈
注意点:
(1)单链表实现
(2)所有操作在表头进行,即next指向栈底方向
(3)top是一个指针(不是结点),指向栈顶(链表第一个结点)
操作:
1.向栈顶指针为top插入结点X
x -> next = top; //先修改要插入的结点指针
top = x ; //保持top指向栈顶
2. Pop操作,X存放出栈元素
× = top->data; //获得栈顶元素
top = top->next; //修改top指针(指向下一个结点)