栈 Stack
一、存储
- 伪代码
typedef struct{
ElementType data[MAX_SIZE]; // 栈的顺序存储
int top; // 栈顶指针
}Stack;
- C语言实例(部分代码)
#define MAX_SIZE 100
typedef int ElementType;
typedef struct{
ElementType data[MAX_SIZE]; // 栈的顺序存储
int top; // 栈顶指针
}Stack;
二、操作
1.入栈
- 伪代码
bool Push(Stack &s, int x)
{
// 栈满 入栈失败
if(s.top == MAX_SIZE-1) return false;
// 栈未满 入栈成功
s.data[++s.top] = x;
return true;
}
2.出栈
- 伪代码
bool Pop(Stack &s, int &x)
{
// 栈空 出栈失败
if(s.top == -1) return false;
// 栈未空 出栈成功并返回值给x
x = s.data[s.top--];
return true;
}
网友评论