<span style="font-family: Arial, Helvetica, sans-serif;">基于CSDN一位大牛的头文件结构写出来的。本人新手,可能有Bug。</span>
/* 数据类型定义 */
#define Stack_size 25
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int data[Stack_size] ;
int top;
} Stack ;
/* 接口函数声明 */
/* 操作: 初始化一个栈 */
/* 操作前: pstack 指向一个栈 */
/* 操作后: 如果内存分配成功, 该栈被初始化并被置为空, 返回1; 否则返回0 */
/* 时间复杂度: O(1) */
int InitStack (Stack ** pstack)
{
*pstack=NULL;
*pstack=(Stack *)malloc(sizeof(Stack));
if(*pstack==NULL)
{
return 0;
}
(*pstack)->top=-1;
return 1;
}
/* 操作: 确定一个栈是否为空 */
/* 操作前: pstack 指向一个已初始化的栈 */
/* 操作后: 如果栈为空, 返回1; 否则返回0 */
/* 时间复杂度: O(1) */
int IsEmpty (Stack * pstack)
{
if(pstack->top == -1)
return 1;
else
return 0;
}
/* 操作: 将一个元素入栈 */
/* 操作前: pstack 指向一个已初始化的栈, panme 指向入栈的元素的数据 */
/* 操作后: 如果内存分配成功,