数据结构-栈的应用(进制转换,括号匹配)
来源:互联网 发布:淘宝刺客电玩 switch 编辑:程序博客网 时间:2024/05/19 13:19
进制转换目标效果:
进制转换功能代码:
//数制转换程序void Conversion(){ // TODO (#1#): 这里实现数制转换程序printf("请输入十进制数:");scanf("%d",&n);while(n){Push(s,n%8);n/=8;}printf("\n该十进制对应的八进制数为:");while(!StackEmpty(s)){Pop(s,x);printf("%d",x);}printf("\n");}
括号匹配目标效果:
括号匹配功能代码:
//检验括号匹配void Match(){ // TODO (#1#): 这里实现检验括号匹配的程序printf("\n\n请输入括号表达式:");char c_array[20];int i=0;scanf("%s",c_array);int l=strlen(c_array); //求字符数组长度while(i<l&&i>=0){switch(c_array[i]){case '{':case '[':case '(':Push(s,c_array[i]); //左括号入栈break;case '}':Pop(s,x);if(x!='{'){printf("\n匹配失败");i=-2;}break;case ']':Pop(s,x);if(x!='['){printf("\n匹配失败");i=-2;}break;case ')':Pop(s,x);if(x!='('){printf("\n匹配失败");i=-2;}break;}i++;}if(i>0)printf("\n匹配成功");}
源码链接:点击打开链接
注意:
1.这里没有贴具体对栈操作的代码,是因为代码和上一篇博文栈操作的代码一样。
2.加一个小插曲,这里的括号匹配是英文括号匹配,中文括号会有乱码等问题,别问我怎么知道的,一脸懵逼.jpg。
3.源码中两个功能一起运行的,所以括号匹配输入字符串使用了scanf,使用gets会出现问题(上边进制转换带来的问题),但是如果单独作为一个功能时,gets也能正确运行。
阅读全文
0 0
- 数据结构-栈的应用(进制转换,括号匹配)
- 重温数据结构-栈的应用:进制转换,括号匹配检测,行编辑,迷宫求解,求表达式的值
- 数据结构栈的应用之括号匹配
- 数据结构之 栈的应用 括号匹配
- 数据结构 栈的应用 括号匹配
- 【数据结构】栈的应用 括号匹配
- 栈的应用-括号匹配-数据结构
- 【数据结构】栈的应用--括号的匹配(c++)
- 数据结构栈应用括号匹配
- PHP数据结构之六 PHP栈的应用举例【数制转换和括号匹配算法】
- Javascript数据结构算法之栈(进制转换,阶乘,后缀表达式,括号匹配)
- 数据结构 P49 栈的应用举例-括号匹配的检验
- <数据结构>栈的应用一:括号匹配检测
- 数据结构之栈的应用:括号匹配问题
- 数据结构-栈的应用-算术表达式小括号匹配
- 算法:括号匹配(栈的应用)-数据结构(7)
- 【数据结构】栈的应用——检测括号是否匹配
- 数据结构应用-----------括号匹配的检验
- Android三大动画
- noip 2014 提高组试题(答案+简单分析)
- 帮助自己轻松生活的三条原则
- Python的GIL是什么鬼,多线程性能究竟如何
- css 全局布局 等高布局
- 数据结构-栈的应用(进制转换,括号匹配)
- TabLayout横向滑动
- 三极管非门电路
- Java中map接口 遍历map
- 可口可乐为何频出奇葩口味?
- iOS两个 TableView 联动
- Java的几种对象(PO-VO-DAO-BO-POJO)解释
- “毛驴之死”献给辛勤加班的程序猿
- 什么是npm