www.pudn.com > huffman.rar > ECStack.h


#include "Global.h" 
#include "ECBTree.h" 
#ifndef ECSTACK_H 
	#define ECSTACK_H 
	/*---Start of Seq Stack---*/ 
	#define SEQ_STACK_LEN 1000 
	#define DataType PBinTreeNode 
	struct SeqStack; 
	typedef struct SeqStack* PSeqStack; 
	struct SeqStack 
	{ 
		PBinTreeNode dataArea[SEQ_STACK_LEN]; 
		int slot; 
	}; 
	PSeqStack createNullSeqStack(void); 
	void seqPush(PSeqStack inStack,DataType inData); 
	DataType seqPop(PSeqStack inStack); 
	DataType seqTop(PSeqStack inStack); 
	int isNullSeqStack(PSeqStack inStack); 
	 
	/*---End of Seq Stack---*/ 
	/*---Start of Share Stack---*/ 
	#define SHARE_STACK_LEN 100 
	struct ShareStack; 
	typedef struct ShareStack* PShareStack; 
	struct ShareStack 
	{ 
		Type shareDataPool[SHARE_STACK_LEN]; 
		int upIndex; 
		int buttomIndex; 
	}; 
	PShareStack createNullShareStack(void); 
	void upPush(PShareStack inStack,Type inData); 
	Type upPop(PShareStack inStack); 
	Type upTop(PShareStack inStack); 
	 
	void buttomPush(PShareStack inStack,Type inData); 
	Type buttomPop(PShareStack inStack); 
	Type buttomTop(PShareStack inStack); 
	/*---End of Share Stack---*/ 
	 
	/*Classic Stack Problem Series*/ 
	/*Problem1:Train leave station problem*/ 
	void trainLeaveProblemAll(int numOfJie); 
	void trainLeaveProblemSole(int* possibleCondition,int len); 
#endif