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->slotslot++; 
	//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---*/