#include <stdio.h>//顺序栈的基本使用
#include <stdlib.h>
#define Stack_Size 50
#define StackElemtype int
#define true 1
#define false 0
typedef struct {
StackElemtype elem[Stack_Size];
int top;//栈顶
}SeqStack;//顺序栈的定义
void InitStack(SeqStack *S){
S->top = -1;//初始化即构建一个空栈
}//顺序栈的初始化
int Push(SeqStack *S, StackElemtype data){
if(S->top == (Stack_Size - 1)){//判断顺序栈是否已满
return false;
}
S->top++;
S->elem[S->top] = data;
return true;
}//顺序栈的进栈操作
int Pop(SeqStack *S, StackElemtype *data){//因为要带出栈顶元素所以这里面data需要用到指针
if(S->top == -1){//判断顺序栈是否为空
return false;
} else{
*data = S->elem[S->top];//顺序栈元素传递给指针
S->top--;
return true;
}
}
int GetTop(SeqStack *S, StackElemtype *data){
if(S->top == -1){//判断顺序栈是否为空
return false;
} else{
*data = S->elem[S->top];
return true;
}
}
int main() {//主函数可以用来测试和使用每个模块的功能
return 0;
}
顺序栈的基本使用
最新推荐文章于 2024-05-22 10:59:33 发布