C语言IDE中 stack用法
时间: 2023-09-27 17:08:43 浏览: 42
在C语言IDE中,stack(堆栈)通常是指一种数据结构,即后进先出(Last-In-First-Out,LIFO)的数据结构。它可以使用数组或链表来实现。
在使用stack时,通常需要使用以下几个函数:
1. push:向堆栈中添加一个元素。
2. pop:从堆栈中删除一个元素。
3. top:返回堆栈顶部元素的值,但不删除该元素。
4. empty:检查堆栈是否为空。
以下是一个使用数组实现stack的示例代码:
```
#include <stdio.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
void push(int data) {
if (top == MAX_SIZE - 1) {
printf("Stack is full\n");
} else {
top++;
stack[top] = data;
}
}
void pop() {
if (top == -1) {
printf("Stack is empty\n");
} else {
top--;
}
}
int top_element() {
if (top == -1) {
printf("Stack is empty\n");
return -1;
} else {
return stack[top];
}
}
int is_empty() {
return (top == -1);
}
int main() {
push(10);
push(20);
push(30);
printf("Top element: %d\n", top_element());
pop();
printf("Top element after pop: %d\n", top_element());
pop();
printf("Top element after pop: %d\n", top_element());
pop();
printf("Top element after pop: %d\n", top_element());
if (is_empty()) {
printf("Stack is empty\n");
} else {
printf("Stack is not empty\n");
}
return 0;
}
```
在上面的示例代码中,我们使用了一个数组stack来实现stack。我们还定义了几个函数,如push、pop、top_element和is_empty,来操作stack。在main函数中,我们测试了这些函数的功能。