ecstack.c

来自「根据ascii码文件中各ascii字符出现的频率情况创建Haffman树」· C语言 代码 · 共 65 行

C
65
字号
#include "ECStack.h" 
#include "MyAssert.h" 
#include "Ulti.h" 
#include "MyMath.h" 
#include <stdlib.h> 
#include <stdio.h> 
#include <time.h> 
#include <string.h> 
/*---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<SEQ_STACK_LEN-1,"in seqPush ,up flow!\n"); 


       inStack->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---*/ 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?