seqstack.h

来自「《数据结构-使用C语言》第三版」· C头文件 代码 · 共 67 行

H
67
字号
//顺序堆栈
typedef struct
{
	DataType stack[MaxStackSize];
	int top;
}SeqStack;

void StackInitiate(SeqStack *S)
{
	S->top = 0;
}

int StackNotEmpty(SeqStack S)
{
	if(S.top<=0) return 0;
	else return 1;
}

int StackPush(SeqStack *S, DataType x)
{
	if(S->top >= MaxStackSize)
	{
		printf("堆栈已满无法插入!\n");
		return 0;
	}
	else
	{
		S->stack[S->top]=x;
		S->top++;
		return 1;
	}
}

int StackPop(SeqStack *S , DataType *d)
{
	if(S->top <= 0 )
	{
		printf("堆栈已空,无数据元素出栈!\n");
		return 0;
	}
	else 
	{
		S->top--;
		*d=S->stack[S->top];
		return 1;
	}
}

int StackTop(SeqStack S, DataType *d)
{
	if(S.top<=0)
	{
		printf("堆栈已空!\n");
		return 0;
		
	}
	else 
	{
		*d=S.stack[S.top-1];
		return 1;
	}
}

 
	
	 

⌨️ 快捷键说明

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