堆栈初始化、入栈、出栈代码
时间: 2023-06-16 09:05:19 浏览: 80
堆栈的代码
堆栈是一种常用的数据结构,常用的操作有初始化、入栈、出栈等。下面给出一份 C++ 代码示例:
```cpp
#include <iostream>
using namespace std;
const int MAXSIZE = 100; // 堆栈最大容量
class Stack {
private:
int top; // 当前栈顶指针
int arr[MAXSIZE]; // 存储堆栈元素的数组
public:
Stack() {
top = -1; // 初始化栈顶指针为-1,表示栈为空
}
bool isEmpty() {
return top == -1;
}
bool isFull() {
return top == MAXSIZE - 1;
}
bool push(int x) {
if (isFull()) {
return false; // 栈满,插入失败
}
arr[++top] = x;
return true; // 插入成功
}
bool pop(int &x) {
if (isEmpty()) {
return false; // 栈空,删除失败
}
x = arr[top--];
return true; // 删除成功
}
};
int main() {
Stack s;
int x;
cout << "初始化堆栈..." << endl;
for (int i = 1; i <= 5; i++) {
cout << "请输入要入栈的元素:" << endl;
cin >> x;
if (!s.push(x)) {
cout << "堆栈已满,无法入栈!" << endl;
break;
}
}
cout << "出栈操作..." << endl;
while (!s.isEmpty()) {
if (s.pop(x)) {
cout << "出栈元素为:" << x << endl;
} else {
cout << "堆栈已空,无法出栈!" << endl;
break;
}
}
return 0;
}
```
这段代码定义了一个 `Stack` 类,包含了堆栈的基本操作。在主函数中,先进行了堆栈的初始化操作,接着实现了入栈和出栈操作,并对栈满和栈空的情况进行了处理。
阅读全文