stack.cpp

来自「能计算数学函数的计算器,有一千多行代码的程序.这个计算器可用 set 命令自定义」· C++ 代码 · 共 73 行

CPP
73
字号
#include "common.h"
#include "stack.h"


NODE *OperandHead = NULL;
NODE *OperatorHead = NULL;


NODE *PushOperand (
	NODE *Source
	)
{
	NODE *tmp;
	tmp = (NODE*) malloc (sizeof (NODE));
	if (tmp == NULL) {
		return NULL;
	}
	NODEcopy (tmp,Source);
	tmp->Next = OperandHead;
	OperandHead = tmp;
	return OperandHead;
}

NODE *PopOperand (
	void
	)
{
	NODE *temp = OperandHead;
	if (OperandHead == NULL) {
		error = the_stack_is_null;
		return NULL;
	}
	OperandHead = OperandHead->Next;
	return temp;
}

NODE *PushOperator (
	NODE *Source
	)
{
	NODE *tmp;
	tmp = (NODE*) malloc (sizeof (NODE));
	if (tmp == NULL) {
		return NULL;
	}
	NODEcopy (tmp,Source);
	tmp->Next = OperatorHead;
	OperatorHead = tmp;
	return OperatorHead;
}

NODE *PopOperator (
	void
	)
{
	NODE *temp = OperatorHead;
	if (OperandHead == NULL) {
		error = the_stack_is_null;
		return NULL;
	}
	OperatorHead = OperatorHead->Next;
	return temp;
}

void ClearStack (
	 void
	)
{
	DeleteList (OperandHead);
	DeleteList (OperatorHead);
	OperandHead = NULL;
	OperatorHead = NULL;
}

⌨️ 快捷键说明

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