数据结构基础—c语言实现栈

学习了改进,利用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;
}
bool Empty()//是否空
{
    if(s.top==-1)return true;
    else return false;
}
bool full()//是否满
{
    if(s.top==maxsize-1)return true;
    else return false;
}
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];
    else printf("栈空\n");
}
void Destroy()//销毁
{
    s.top=-1;
}

测试不写了。

猜你喜欢

转载自blog.csdn.net/hebtu666/article/details/81286583