cstack.cpp

来自「算符优先文法分析器的例子」· C++ 代码 · 共 65 行

CPP
65
字号

#include "stdafx.h"
#include "CStack.h"

charstack::charstack()
{
	clear();
}

void charstack::clear()
{
	top=0;
	bottom=0;
	memset(stack, 0, sizeof(stack));
}

charstack::~charstack()
{

}

void charstack::push(char p, char a)
{
	ASSERT(top+2 < sizeof(stack));
	
	stack[top++] = p;
	stack[top++] = a;
}

void charstack::pop(char &q, char &a)
{
	ASSERT(top >= 2);

	a = stack[--top];
	stack[top] = 0;

	q = stack[--top];
	stack[top] = 0;

}

bool charstack::empty()
{
	if(top <= bottom)
		return true;
	
	return false;
}

void charstack::push(char p)
{
	ASSERT(top+1 < sizeof(stack));
	stack[top++] = p;
}


void charstack::pop(char &q)
{
	ASSERT(top >= 1);

	q = stack[--top];
	stack[top] = 0;
}

⌨️ 快捷键说明

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