www.pudn.com > huffman.rar > ECStack.C, change:2005-11-19,size:1155b
#include "ECStack.h" #include "MyAssert.h" #include "Ulti.h" #include "MyMath.h" #include#include #include #include /*---Start of SeqStack---*/ PSeqStack createNullSeqStack(void) { PSeqStack reStack; reStack=(PSeqStack)malloc(sizeof(struct SeqStack)); assertF(reStack!=NULL,"in createNullSeqStack,mem apply failure\n"); reStack->slot=-1; return reStack; } void seqPush(PSeqStack inStack,DataType inData) { assertF(inStack!=NULL,"in seqPush,inStack is null\n"); assertF(inStack->slot slot++; //value data to stack. inStack->dataArea[inStack->slot]=inData; } DataType seqPop(PSeqStack inStack) { DataType reData; assertF(inStack!=NULL,"in seqPop,inStack is null\n"); assertF(inStack->slot>-1,"in seqPop,down flow out\n"); reData=inStack->dataArea[inStack->slot]; inStack->slot--; return reData; } DataType seqTop(PSeqStack inStack) { return inStack->dataArea[inStack->slot]; } int isNullSeqStack(PSeqStack inStack) { return inStack->slot==-1; } /*---End of SeqStack---*/