学习了改进,利用define typedef比上次写的链表更容易改变功能,方便维护,代码更健壮。
大佬别嫌弃,萌新总是很笨,用typedef都想不到。
#include<stdio.h>
#include<stdbool.h>
#define maxsize 10
typedef int datatype;
typedef struct stack
{datatype data[maxsize];int top;
}Stack;
Stack s;
void init()//初始化
{s.top=-1;
}
int Empty()//是否空
{if(s.top==-1)return 1;return 0;
}
int full()//是否满
{if(s.top==maxsize-1)return 1;return 0;
}
void Push(datatype element)//入栈
{if(!full()){s.top++;s.data[s.top]=element;}else printf("栈满\n");
}
void Pop()//出栈
{if(!Empty()) s.top--;else printf("栈空\n");
}
datatype Top()//取栈顶元素
{if(!Empty()) return s.data[s.top];printf("栈空\n");
}
void Destroy()//销毁
{s.top=-1;
}
测试不写了。