顺序栈和链栈的比较
1、时间性能:相同,都是常数时间O(1)
2、空间性能:
顺序栈:有元素个数的限制和空间浪费的问题
链栈:没有栈满的问题,只有当内存没有可用空间时才会出现栈满,但当每个元素都需要一个指针域,从而产生了结构性开销。
队列:只允许在一段进行插入操作,而另一端进行删除操作的线性表
两栈共享空间
栈一为空:top1=-1
栈二为空:top2=StackSize
确定不同队空、队满的条件
法一:附设一个存储队列中元素个数的变量num,当num=0是队空,当num=QueueSize时为队满;
法二:修改队满条件,浪费一个元素空间,队满时数组中只有一个空闲单元;
法三:设置标志flag,当front=rear且flag=0时为队空,当front=rear且flag=1时为队满。