Satck.h
#ifndef _SAQ_H
#define _SAQ_H_
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#define NUMBER 20
typedef int DataType;
typedef struct Stack
{
DataType array[NUMBER];
DataType top;
}Stack;
void InitStack(Stack *p);
void PushStack(Stack *cur, DataType data);
void PopStack(Stack *cur);
DataType StackTop(Stack *cur);
int StackSize(Stack *cur);
int StackEmpty(Stack *cur);
#endif //_SAQ
Stack.c
#include"Stack.h"
//初始化栈
void InitStack(Stack *p)
{
assert(p);
p->top = 0;
}
//入栈
void PushStack(Stack *cur, DataType data)
{
assert(cur);
cur->array[cur->top] = data;
cur->top++;
}
//出栈
void PopStack(Stack *cur)
{
assert(cur);
cur->top--;
}
//栈顶的元素
DataType StackTop(Stack *cur)
{
assert(cur);
if(cur->top != 0)
return cur->array[cur->top-1];
}
//栈中的元素个数
int StackSize(Stack *cur)
{
assert(cur);
return cur->to