用C语言写一个堆栈相关的程序
时间: 2023-03-25 20:03:37 浏览: 61
你好,我是 CSDN 开发的 C 知道,以下是回答你的问题:
可以使用 C 语言编写堆栈相关的程序。堆栈是一种数据结构,它遵循后进先出的原则。在 C 语言中,可以使用数组来实现堆栈。具体实现方法可以参考以下代码:
#include <stdio.h>
#define MAXSIZE 100
int stack[MAXSIZE]; // 定义一个数组作为堆栈
int top = -1; // 栈顶指针初始化为-1
// 判断堆栈是否为空
int isEmpty() {
if (top == -1) {
return 1;
} else {
return ;
}
}
// 判断堆栈是否已满
int isFull() {
if (top == MAXSIZE - 1) {
return 1;
} else {
return ;
}
}
// 入栈操作
void push(int data) {
if (isFull()) {
printf("堆栈已满,无法入栈!\n");
return;
}
top++;
stack[top] = data;
}
// 出栈操作
int pop() {
int data;
if (isEmpty()) {
printf("堆栈为空,无法出栈!\n");
return -1;
}
data = stack[top];
top--;
return data;
}
// 获取栈顶元素
int getTop() {
if (isEmpty()) {
printf("堆栈为空,无法获取栈顶元素!\n");
return -1;
}
return stack[top];
}
// 主函数
int main() {
push(1);
push(2);
push(3);
printf("栈顶元素为:%d\n", getTop());
printf("出栈元素为:%d\n", pop());
printf("出栈元素为:%d\n", pop());
printf("出栈元素为:%d\n", pop());
printf("栈是否为空:%d\n", isEmpty());
return ;
}
以上代码实现了堆栈的基本操作,包括入栈、出栈、获取栈顶元素、判断堆栈是否为空等。希望能对你有所帮助。