栈的实现及基本操作pta
时间: 2023-09-20 13:12:15 浏览: 99
栈是一种线性数据结构,只允许在一端进行插入和删除操作,这一端被称为栈顶。栈的特点是后进先出,即最后压入栈的元素最先弹出。
下面是栈的基本操作和其在 C++ 中的实现:
1. 初始化栈:
```c++
const int MAXSIZE = 1000; // 定义栈的最大容量
int stack[MAXSIZE]; // 定义栈
int top = -1; // 栈顶指针初始化为-1,表示空栈
```
2. 判断栈是否为空:
```c++
bool isEmpty() {
return top == -1;
}
```
3. 判断栈是否已满:
```c++
bool isFull() {
return top == MAXSIZE - 1;
}
```
4. 入栈操作:
```c++
void push(int x) {
if (isFull()) {
cout << "Stack is full!" << endl;
return;
}
stack[++top] = x;
}
```
5. 出栈操作:
```c++
void pop() {
if (isEmpty()) {
cout << "Stack is empty!" << endl;
return;
}
top--;
}
```
6. 获取栈顶元素:
```c++
int getTop() {
if (isEmpty()) {
cout << "Stack is empty!" << endl;
return -1;
}
return stack[top];
}
```
以上就是栈的基本操作和实现。
注:以上代码为纯 C++ 代码,如果在 OJ 上提交需要加上头文件和主函数等代码。