第一范文网 - 专业文章范例文档资料分享平台

数据结构实验(括号配对问题)

来源:用户分享 时间:2025/5/15 16:34:30 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

#include void Bracket(char *str); void main()//主函数 { }

#define StackMaxSize 100

typedefstruct{//定义一个顺序栈类型

char stack[StackMaxSize]; int top;

char str[100];//定义一个字符串 printf(\gets(str); Bracket(str);

}Stack;

Stack *InitStack(Stack *S)//置空栈 { }

intStackEmpty(Stack *S)//判栈空 {

return S->top==-1; S->top=-1; return S;

}

char Pop(Stack *S,char *a)//顺序栈取栈顶元素 { }

void Push(Stack *S,charstr){//顺序栈入栈 }

void Bracket(char *str){

Stack S1,*S=&S1; char a;

inti=0,flag1=0,flag2; InitStack(S); while(str[i]!='\\0'){

switch(str[i]){

case '(':Push(S,'(');break;

if(S->toptop>=-1){

S->top++;

S->stack[S->top]=str; *a=S->top;

if(S->top<=StackMaxSize-1&&S->top>=0)

return(S->stack[S->top]);

elseprintf(\

}elseprintf(\

}

}

case ')':Pop(S,&a);

if(a!='(') {flag1=1;

break;//出现不匹配,立即结束循环 }

default:break; } if(flag1)

break;

i++;

flag2=StackEmpty(S);//flag2判断堆栈是否为空 if(!flag2)

printf(\括号匹配正确\\n\

else

printf(\括号匹配不正确\\n\

搜索更多关于: 数据结构实验(括号配对问题) 的文档
数据结构实验(括号配对问题).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4chti6pjjn3j4lf875li_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top