实现栈的基本操作:六项基本操作的机制是:初始化栈:init stack(S);判断栈空stack empty(S);取栈顶元素:stack top(S,x);入栈:push stack(S,x);出栈pop stack(S);判断栈满:stack full(S)
时间: 2024-06-01 17:11:37 浏览: 45
栈的基本操作的实现
1. 初始化栈:创建一个空栈,即将栈顶指针置为-1。
void initStack(int *stack, int *top)
{
*top = -1;
}
2. 判断栈空:如果栈顶指针为-1,则栈为空。
int isEmpty(int top)
{
return top == -1;
}
3. 取栈顶元素:如果栈不为空,则返回栈顶元素。
int topStack(int *stack, int top)
{
if(!isEmpty(top))
return stack[top];
else
return -1;
}
4. 入栈:如果栈未满,则将元素插入栈顶。
void pushStack(int *stack, int *top, int value)
{
if(!isFull(*top))
{
(*top)++;
stack[*top] = value;
}
}
5. 出栈:如果栈不为空,则删除栈顶元素。
void popStack(int *top)
{
if(!isEmpty(*top))
(*top)--;
}
6. 判断栈满:如果栈顶指针等于栈的大小-1,则栈满。
int isFull(int top, int size)
{
return top == size-1;
}
阅读全文