栈的基本操作c语言代码
时间: 2023-09-04 08:16:39 浏览: 89
栈是一种线性数据结构,它的基本操作有入栈、出栈和查看栈顶元素。以下是一个简单的基于数组实现的栈的 C 语言代码:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 栈的最大容量
int stack[MAX_SIZE]; // 定义栈
int top = -1; // 栈顶初始化为-1
// 入栈操作
void push(int item) {
if (top == MAX_SIZE - 1) { // 判断栈是否已满
printf("Stack Overflow!\n");
return;
}
top++; // 栈顶指针加1
stack[top] = item; // 将元素压入栈顶
printf("%d pushed to stack.\n", item);
}
// 出栈操作
int pop() {
if (top == -1) { // 判断栈是否为空
printf("Stack Underflow!\n");
return -1;
}
int item = stack[top]; // 取出栈顶元素
top--; // 栈顶指针减1
printf("%d popped from stack.\n", item);
return item;
}
// 查看栈顶元素
int peek() {
if (top == -1) { // 判断栈是否为空
printf("Stack is empty!\n");
return -1;
}
int item = stack[top]; // 取出栈顶元素
printf("Top element is %d.\n", item);
return item;
}
int main() {
push(1);
push(2);
push(3);
peek();
pop();
peek();
pop();
pop();
pop();
return 0;
}
```
在此代码中,我们首先定义了一个数组 `stack` 用于存储栈中的元素,以及一个整数 `top` 作为栈顶指针。`push` 函数将元素压入栈顶,如果栈已满则输出错误信息。`pop` 函数取出栈顶元素,如果栈为空则输出错误信息。`peek` 函数查看栈顶元素,如果栈为空则输出错误信息。在 `main` 函数中,我们调用了这些函数来操作栈,并且输出了一些提示信息来方便用户理解栈的操作。
阅读全文