本文共 1026 字,大约阅读时间需要 3 分钟。
#include#define MaxSize 20#define ERROR 0#define OK 1typedef int ElementType;typedef struct DStack *Stack;//共享栈struct DStack{ ElementType Data[MaxSize]; int Top1; //堆栈1的栈顶指针 int Top2; //堆栈2的栈顶指针}S;/** * 存放数据 * */void Push(Stack PtrS,ElementType item, int Tag){ if(PtrS->Top2 - PtrS->Top1 == 1) { printf("堆栈满"); return ; } if(Tag == 1) { PtrS->Data[++(PtrS->Top1)] = item; } else { PtrS->Data[--(PtrS->Top2)] = item; } }/** * 出栈 * */ElementType Pop(Stack PtrS,int Tag){ if(Tag == 1) { //对左面的的栈进行出栈 //出栈前判断是否为空 if(PtrS->Top1 == -1) { printf("堆栈1为空"); } else { return PtrS->Data[(PtrS->Top1)--] } } else { //对右面的栈进行出栈 //出栈前判断是否为空 if(PtrS->Top2 == MaxSize) { printf("堆栈2为空"); } else { return PtrS->Data[(PtrS->Top2)++]; } } }
转载地址:http://zpwwi.baihongyu.com/