堆栈操作合法性c++
时间: 2023-11-18 18:51:45 浏览: 97
堆栈操作在C语言中是合法的。C语言提供了一些内置的数据结构和函数来操作堆栈,如数组和相关的操作函数。堆栈操作包括入栈(push)和出栈(pop)操作,可以用于实现先进后出(LIFO)的数据结构。
下面是一个简单的例子,展示了如何在C语言中进行堆栈操作:
```c
#include <stdio.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
void push(int item) {
if (top >= MAX_SIZE - 1) {
printf("Stack Overflow\n");
} else {
stack[++top] = item;
printf("Pushed %d\n", item);
}
}
int pop() {
if (top < 0) {
printf("Stack Underflow\n");
return -1;
} else {
int item = stack[top--];
printf("Popped %d\n", item);
return item;
}
}
int main() {
push(5);
push(10);
push(15);
int poppedItem = pop();
printf("Popped item: %d\n", poppedItem);
return 0;
}
```
在上述示例中,我们使用数组 `stack` 来实现堆栈,并使用变量 `top` 来追踪栈顶的位置。函数 `push` 将元素压入栈中,函数 `pop` 将栈顶元素弹出并返回。
阅读全文