c语言堆栈的基本操作
时间: 2023-06-21 13:07:37 浏览: 55
在C语言中,堆栈是一种先进后出(Last In First Out,LIFO)的数据结构,它的基本操作包括:
1. 初始化栈:创建一个空栈,并设置栈顶指针为-1。
```c
int stack[MAXSIZE];
int top = -1;
// 初始化栈
void initStack() {
top = -1;
}
```
2. 判断栈是否为空:栈为空时返回1,否则返回0。
```c
// 判断栈是否为空
int isEmpty() {
return top == -1 ? 1 : 0;
}
```
3. 判断栈是否已满:栈已满时返回1,否则返回0。
```c
// 判断栈是否已满
int isFull() {
return top == MAXSIZE - 1 ? 1 : 0;
}
```
4. 入栈:将元素压入栈顶,即将栈顶指针加1,并将元素放入栈顶位置。
```c
// 入栈
void push(int data) {
if (isFull()) {
printf("Stack is full.\n");
return;
}
stack[++top] = data;
}
```
5. 出栈:将栈顶元素弹出,即将栈顶指针减1,并返回栈顶元素。
```c
// 出栈
int pop() {
if (isEmpty()) {
printf("Stack is empty.\n");
return -1;
}
return stack[top--];
}
```
6. 获取栈顶元素:返回栈顶元素的值,但是不改变栈顶指针。
```c
// 获取栈顶元素
int peek() {
if (isEmpty()) {
printf("Stack is empty.\n");
return -1;
}
return stack[top];
}
```
以上就是C语言堆栈的基本操作。