栈的应用实例——平衡符号
检查()、[]、{}是否配对。
/* stack_balance_symbol */#include "stack.h" #include <stdio.h> #include <stdlib.h> #include <error.h>int main(int argc, char **argv) {FILE *fp;stack s;char c;char ctmp; if(argc != 2){printf("usage: a.out <filename>\n");exit(0);}fp = fopen(argv[1], "r");if(fp == NULL){perror("fopen");exit(1);}s = create_stack( 10 );c = fgetc(fp);while(c != EOF){ switch(c){case '(':push(c, s);break;case ')':ctmp = top_and_pop( s );if(ctmp != '(')printf("not match!\n");break; case '{':push(c, s);break;case '}':ctmp = top_and_pop( s );if(ctmp != '{')printf("not match!\n");break; case '[':push(c, s);break;case ']':ctmp = top_and_pop( s );if(ctmp != '[')printf("not match!\n");break; }c = fgetc(fp);}if(is_empty( s ))printf("match\n");elseprintf("not match\n"); }
上面的程序中所使用的stack.h参考http://www.cnblogs.com/nufangrensheng/p/3610520.html。(注:stack.h中使用的是
typedef char element_type;
)
测试结果:
栈的应用实例——平衡符号相关推荐
- python 判断括号是否匹配_使用Python实现一个栈判断括号是否平衡
栈(Stack)在计算机领域是一个被广泛应用的集合,栈是线性集合,访问都严格地限制在一段,叫做顶(top). 举个例子,栈就想一摞洗干净的盘子,你每次取一个新盘子,都是放在这一摞盘子的最上头,当你往里 ...
- 栈----生产者消费者实例
栈----生产者消费者实例 实际是线程的应用: 其相当于一个工厂**,工厂生产,然后存储到仓库,然后有消费者从仓库取出. 这次我使用的仓库是栈,然后消费者,生产者分别是一个对象,然后产品是一个对象,见 ...
- c++:栈的基本操作+实例:迷宫求解
栈的基本操作+实例:迷宫求解 #include<iostream> using namespace std;struct Node {int datai;int dataj;Node* n ...
- 栈的应用实例——计算后缀表达式
用户输入一个后缀表达式,程序计算该后缀表达式的值并输出结果: /* postfix_expression.c */#include "stack.h" #include <s ...
- python数据库管理实例_西游之路——python全栈——学员管理实例之数据库设计
一.创建项目 djangio-admin startproject 项目名称 python manage.py startapp app名称 python manage.py runserver 端口 ...
- math_等差数列/等比数列求和推导等幂和差推导/两个n次方数之差与等价无穷小实例/求和符号的性质和应用
文章目录 math_等比数列求和推导&等幂和差推导/两个n次方数之差 等差数列
- 【Android 应用开发】Activity 返回堆栈管理 ( 栈内复用模式 singleTask | 单实例模式 singleInstance )
文章目录 一. singleTask ( 栈内复用模式 ) Activity 实例在返回堆栈中的位置 二. singleTask ( 栈内复用模式 ) Activity 启动的五种情况 三. sing ...
- 【CCF 201903-2】 二十四点(符号栈)
写在前面 本题的常规做法是使用符号栈,特殊解法是使用Python的eval函数. 算法思想 将中缀表达式转化为后缀表达式,使用符号栈和数字栈. 当新的符号op入栈时,有两种情况: ① op的优先级 & ...
- Unity3D中平衡类游戏player的基本应用实例
在场景中创建一个小球,这个小球就是平衡游戏的主角,让小球滚动来,通过控制滚动的方向来实现平衡. 搭建场景如下: 给小球添加刚体和Sphere Collider : 然后简单粗暴上脚本:挂载到Ball上 ...
- 数据结构笔记--栈的总结及java数组实现简单栈结构
杂谈"栈"结构: 栈(Stack)是一种插入删除操作都只能在一个位置上进表,这个位置位于表的末端,叫做栈顶(Top). 对栈的基本操作有push和pop,表示进栈和出栈.也就相当于 ...
最新文章
- 牛津大佬|计算机科学方向一对一科研项目
- FD.io/VPP — VPP Agent — Overview
- 《Java入门经典(第7版)》—— 6.11 练习
- C++11 中STL库中新增内容
- Pandas条件筛选 | Python技能树征题
- PTA 判断对称矩阵 (10分)
- linux内核 mpls,将MPLS编译进linux内核中
- groovy 字符串截取最后一个_Java基础篇——字符串详解
- 微软托管服务器,微软 GitHub 推出新政策,允许托管以安全研究为目的的恶意软件...
- 12.swift 元祖
- 重拾MVC——第二天:Vue学习与即时密码格式验证
- 罗永浩宣布要做带货一哥后,合作单子如雪花般飞来
- 纯文字海报如何排版更引人注目?
- HTTP Headers Content-Disposition
- golang-Tag
- 单片机步进电机正反转C语言程序,单片机控制步进电机正反转
- DeepFace--Facebook的人脸识别
- 程序猿12个“人艰不拆”的真相
- 汽车电子学习笔记---AutoSAR概述
- btwdins.exe
热门文章
- 主题模型TopicModel:LDA编程实现
- zookeeper 客户端常用命令_看完这篇文章,还说自己不会使用Zookeeper命令吗?
- labVIEW学习笔记(三)簇,局部、全局变量
- python窗口怎么显示我输入的_Python分别用两个窗口显示和输入
- flex布局 详细开发教程
- Ubuntu解决依赖关系问题
- 1007 素数对猜想 (20 分)—PAT (Basic Level) Practice (中文)
- Android如何实现音频输出路由的切换
- Software--Data Visual 数据可视化
- 记一次噩梦般的经历——论学会反编译的重要性