数据结构C语言实现实现顺序栈的入栈、出栈、读栈顶元素、建栈、判断栈满、栈空等基本操作;
时间: 2023-12-24 17:03:30 浏览: 161
数据结构是计算机科学中非常重要的一门课程,它主要研究数据的组织、存储和管理方式。而栈和队列是数据结构中非常基础的两种数据结构,它们在程序设计中有着广泛的应用。下面是关于顺序栈的基本操作介绍:
1. 入栈:将元素压入栈顶,即将元素放入栈顶位置。
2. 出栈:将栈顶元素弹出,即将栈顶元素删除。
3. 读栈顶元素:获取栈顶元素,即获取栈顶位置的元素。
4. 建栈:初始化一个空栈。
5. 判断栈满:当栈中元素个数等于栈的最大容量时,栈即为满栈。
6. 判断栈空:当栈中没有元素时,栈即为空栈。
下面是关于顺序栈的C语言实现:
```c
#define MAXSIZE 100 // 定义栈的最大容量
typedef struct {
int data[MAXSIZE]; // 存储栈中元素的数组
int top; // 栈顶指针
} SqStack;
// 初始化一个空栈
void InitStack(SqStack *S) {
S->top = -1;
}
// 判断栈是否为空
int StackEmpty(SqStack S) {
if (S.top == -1) {
return 1;
} else {
return 0;
}
}
// 判断栈是否为满
int StackFull(SqStack S) {
if (S.top == MAXSIZE - 1) {
return 1;
} else {
return 0;
}
}
// 入栈
int Push(SqStack *S, int x) {
if (StackFull(*S)) {
return 0; // 栈满,入栈失败
} else {
S->top++;
S->data[S->top] = x;
return 1; // 入栈成功
}
}
// 出栈
int Pop(SqStack *S, int *x) {
if (StackEmpty(*S)) {
return 0; // 栈空,出栈失败
} else {
*x = S->data[S->top];
S->top--;
return 1; // 出栈成功
}
}
// 读栈顶元素
int GetTop(SqStack S, int *x) {
if (StackEmpty(S)) {
return 0; // 栈空,获取栈顶元素失败
} else {
*x = S.data[S.top];
return 1; // 获取栈顶元素成功
}
}
```
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)