📄 stack.h
字号:
/************************************************************
Title: Operator-Precedence Parsing
Author: Dake Song, Class 0201 of Computer Science
Date: Mar.18 of 2005
**************************************************************/
#ifndef STACK_H
#define STACK_H
#include "Global.h"
/*
Stack operates */
void InitStack();
bool Push(const char*);
bool Pop(char*);
bool TopValue(char*);
void PrintStack();
/*
Stack attributes */
char TheStack[STACKSIZE];
int StackTop;
/*
Implement stack operates */
void InitStack()
{
char c = '#';
StackTop = 0;
Push(&c);
}
bool Push(const char* c)
{
if (StackTop < STACKSIZE)
{
TheStack[StackTop++] = *c;
return true;
}
else
{
return false;
}
}
bool Pop(char* c)
{
if (StackTop >= 0)
{
*c = TheStack[--StackTop];
return true;
}
else
{
return false;
}
}
bool TopValue(char* c)
{
if (StackTop > 0) /* not null */
{
*c = TheStack[StackTop-1];
return true;
}
else
{
return false;
}
}
void PrintStack()
{
int i;
for (i=0; i<StackTop; i++)
{
printf("%c", TheStack[i]);
}
printf("\n");
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -