⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ecstack.c

📁 根据ascii码文件中各ascii字符出现的频率情况创建Haffman树
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -