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

📄 ecstack.c

📁 用哈夫曼编码实现文件压缩和解压缩. 压缩过程的实现:1创建Haffman树&#61664 2打开需压缩文件&#61664 3将需压缩文件中的每个ascii码对应的haffman编码按bit单位输出&
💻 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 + -