栈的顺序实现以及括号匹配判断程序
来源:互联网 发布:诺基亚塞班软件 编辑:程序博客网 时间:2024/04/28 22:07
#define STACK_MAX_NUM 10
typedef struct tag_Stack_S
{
char StackData[STACK_MAX_NUM];
int top;
}Stack_S;
void Stack_Init(Stack_S *sl)
{
sl->top = -1;
}
//进栈
int Stack_In(Stack_S *sl, char Element)
{
if (sl->top == STACK_MAX_NUM - 1)
{
return T_ERR;
}
sl->top++;
sl->StackData[sl->top] = Element;
return T_OK;
}
//出栈
int Stack_Out(Stack_S *sl , char *Element)
{
if((sl->top == -1) || (NULL == Element))
{
return T_ERR;
}
*Element = sl->StackData[sl->top--];
return T_OK;
}
int Stack_Match(char *exps)
{
Stack_S stPoly;
int i = 0;
char Data = 0;
int nomatch = 0;
if(NULL == exps)
{
return T_ERR;
}
Stack_Init(&stPoly);
while((exps[i] != '/0') && (nomatch == 0))
{
switch(exps[i])
{
case '(':
case '{':
case '[':
Stack_In(&stPoly,exps[i]);
break;
case ')':
Stack_Out(&stPoly, &Data);
if(Data != '(')
{
nomatch = 1;
}
break;
case '}':
Stack_Out(&stPoly, &Data);
if(Data != '{')
{
nomatch = 1;
}
break;
case ']':
Stack_Out(&stPoly, &Data);
if(Data != '[')
{
nomatch = 1;
}
break;
default :
break;
}
i++;
}
if(nomatch == 0)
{
return T_OK;
}
else
{
return T_ERR;
}
}
- 栈的顺序实现以及括号匹配判断程序
- 括号匹配--顺序栈实现
- 顺序栈实现括号匹配
- 顺序栈实现括号匹配
- 5.基于顺序栈 实现 检测括号匹配程序
- 数据结构(1)——顺序栈的实现,以及括号匹配的应用
- 顺序栈判断表达式中括号的匹配
- 判断括号匹配程序
- C语言实现顺序栈的括号匹配
- 用顺序栈实现匹配括号功能
- 利用顺序栈实现括号匹配
- 一个动态的栈实现的括号匹配程序
- 顺序栈的括号匹配算法
- 括号的匹配,顺序栈方法
- 顺序栈的应用-括号匹配
- 栈的实现-括号匹配
- 利用栈判断括号的匹配性
- 栈的应用----判断括号是否匹配
- 激情、坚韧、创新、感恩”。
- 我的线段树标程
- linux 超级终端
- 无刷新显示图片
- 关于BIOS的功能
- 栈的顺序实现以及括号匹配判断程序
- NickLee.FortuneBase(2009.2_B) For Oracle92i/10g/11g
- 给我一个去北京的理由
- 工作之旅
- 永别了,中冶京城,永别了,北京
- 现在的医生
- 不能返回局部变量的引用
- 美剧
- .net研究之垃圾回收