C语言–栈要点总结,顺序栈的实现

上周学习的数据结构中关于栈,有下面几点,我感觉引起我的重视。

  • 栈的基本操作中,基本上都是在栈顶进行的。比如在栈顶的插入,删除,栈的初始化,栈的判空(S.base == S.top),取栈顶元素等等。所以关于top指针要引起足够的重视和理解。
  • 理解栈和基本线性表的之间的关系。首先,栈就是线性表,栈是一种操作受限的线性表。可以想想就是带着镣铐跳舞的感觉,所以实现的时候必须严格按照栈的定义来执行栈的操作。
  • 栈不存在的条件:base = null;
  • 栈为空的条件:base = top;
  • 栈满的条件:top  – base = stacksize;

Continue reading