顺序存储实现栈的初始化、入栈、出栈操作
时间: 2023-10-06 15:14:03 浏览: 193
入栈出栈的C语言实现
5星 · 资源好评率100%
顺序存储实现栈的操作需要使用一个数组来存储栈中的元素,并使用一个指针来指示栈顶元素的位置。
1. 初始化栈
顺序存储实现栈的初始化操作需要先定义一个固定大小的数组,然后将栈顶指针设置为-1,表示栈为空。
```c++
#define MAXSIZE 100 // 栈的大小
int stack[MAXSIZE]; // 定义一个数组来存储栈中的元素
int top = -1; // 栈顶指针,初始值为-1
```
2. 入栈操作
栈的入栈操作需要将一个元素放入栈顶,即将栈顶指针加1,然后将元素放入数组中。
```c++
void push(int x) {
if (top == MAXSIZE - 1) {
cout << "Stack overflow" << endl;
return;
}
top++; // 栈顶指针加1
stack[top] = x; // 将元素放入数组中
}
```
3. 出栈操作
栈的出栈操作需要将栈顶元素弹出,即将栈顶元素保存,然后将栈顶指针减1。
```c++
int pop() {
if (top == -1) {
cout << "Stack underflow" << endl;
return -1;
}
int x = stack[top]; // 保存栈顶元素
top--; // 栈顶指针减1
return x; // 返回栈顶元素
}
```
阅读全文