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

📄 stack.c

📁 操作系统课程设计
💻 C
字号:
#include "stack.h"

#include <stdio.h>
#include <stdlib.h>

PSTACK CreateStack()
{
	PSTACK stack = (PSTACK)malloc(sizeof(STACK));
	if(NULL == stack)
	{
		printf("memory overflow!\n");
		exit(1);
	}

	stack->top = 0;
	return stack;
}

BOOL DestroyStack(PSTACK * stack)
{
	if(NULL == *stack)
		return FALSE;
	else
	{
		free(*stack);
		*stack = NULL;
		return TRUE;
	}
}
BOOL PushStack(PSTACK stack, STACK_ELEMENT_TYPE elem)
{
	if(stack->top >= MAX_STACK_SIZE)
		return FALSE;

	stack->data[stack->top] = elem;
	++stack->top;
	return TRUE;
}

BOOL PopStack(PSTACK stack, STACK_ELEMENT_TYPE * elem)
{
	if(stack->top == 0)
		return FALSE;

	*elem = stack->data[stack->top - 1];
	--stack->top;
	return TRUE;
}

BOOL StackEmpty(PSTACK stack)
{
	if(0 == stack->top)
		return TRUE;
	else
		return FALSE;
}

BOOL StackFull(PSTACK stack)
{
	if(MAX_STACK_SIZE == stack->top)
		return TRUE;
	else
		return FALSE;
}

SIZE_T StackLength(PSTACK stack)
{
	return (SIZE_T)stack->top;
}

⌨️ 快捷键说明

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