什么是数组的栈操作、队列操作?
栈的基本操作:
InitStack(&S):初始化一个空栈S
StackEmpty(S):判断一个栈是否为空,若栈为空返回true,否则返回false
Push(&S,x):进栈,若栈S未满,则将x加入使之成为新栈顶
Pop(&S,&x):出栈,若栈S非空,则弹出栈顶元素,并用x返回
GetTop(S,&x):读栈顶元素,若栈S非空,则用x返回栈顶元素。
DestroyStack(&S):销毁栈,并释放栈S占用的存储空间(“&”表示引用调用)
队列的基本操作:
InitQueue(&Q):初始化队列,构造一个空队列Q
QueueEmpty(Q):判队列空,若队列Q为空返回true,否则返回false
EnQueue(&Q,x):入队,若队列Q未满,将×加入,使之成为新的队尾
DeQueue(&Q,&x):出队,若队列Q非空,删除队头元素,并用x返回
GetHead(Q,&x):读队头元素,若队列Q非空,则将队头元素赋值给x。