数组和链表是两种基础的数据结构,也是构成很多复杂数据结构的基础。本程序利用数组和链表实现堆栈。
/********************************************************
STACK.H
********************************************************/
#ifndef _STACK_H
#define _STACK_H
#ifndef BOOL
#define BOOL int
#endif
typedef char Item;
struct _Stack;
typedef struct _Stack Stack;
typedef Stack* pStack;
pStack Stack_Init(int nMax);
void Stack_Destroy(pStack pSt);
void Stack_Push(pStack pSt,Item elem);
Item Stack_Pop(pStack pSt);
int Stack_Size(pStack pSt);
BOOL Stack_IsEmpty(pStack pSt);
BOOL Stack_IsFull(pStack pSt);
#endif
/********************************************
基于数组 STACK.c
********************************************/
#include<stdio.h>
#inclu