数据结构实验三的详细注释
#include<stdio.h>
#include<stdlib.h>
#define maxsize 100
#define false 0
#define true 1
typedef int DataType; //栈存储单元的数据类型
typedef struct //栈的结构体
{
DataType data[maxsize];
int top;
}*SqStack/*栈指针类型名*/,stack/*栈类型名*/;
void InitStack(SqStack s)//初始化,栈数组栈顶标志设为-1即此时栈中没有元素 {
s->top=-1;
}
int StackEmpty(SqStack s) //判断栈是否为空
{
return s->top==-1? true:false ; //用此语句简化if,else的使用
}
int push(SqStack s,DataType x)
{
if(s->top==maxsize-1) //如果栈顶元素已到达申请的最大内存
{
printf("栈已满!\n");
return 0;
}
else //栈中还有空间
{
s->top++; //入栈时需将原来的栈顶加1
s->data[s->top]=x; //将值赋给已经加1的栈顶中
return 1;
}
}
int pop(SqStack s,DataType *e)//获取栈顶元素 ,并出栈
{
if(s->top==-1) //如果栈顶元素标志为空
{