ecstack.c

来自「用哈夫曼编码实现文件压缩和解压缩. 压缩过程的实现:1创建Haffman树&#」· C语言 代码 · 共 56 行

C
56
字号
#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 + -
显示快捷键?