检查()、[]、{}是否配对。

/* 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;

测试结果:

栈的应用实例——平衡符号相关推荐

  1. python 判断括号是否匹配_使用Python实现一个栈判断括号是否平衡

    栈(Stack)在计算机领域是一个被广泛应用的集合,栈是线性集合,访问都严格地限制在一段,叫做顶(top). 举个例子,栈就想一摞洗干净的盘子,你每次取一个新盘子,都是放在这一摞盘子的最上头,当你往里 ...

  2. 栈----生产者消费者实例

    栈----生产者消费者实例 实际是线程的应用: 其相当于一个工厂**,工厂生产,然后存储到仓库,然后有消费者从仓库取出. 这次我使用的仓库是栈,然后消费者,生产者分别是一个对象,然后产品是一个对象,见 ...

  3. c++:栈的基本操作+实例:迷宫求解

    栈的基本操作+实例:迷宫求解 #include<iostream> using namespace std;struct Node {int datai;int dataj;Node* n ...

  4. 栈的应用实例——计算后缀表达式

    用户输入一个后缀表达式,程序计算该后缀表达式的值并输出结果: /* postfix_expression.c */#include "stack.h" #include <s ...

  5. python数据库管理实例_西游之路——python全栈——学员管理实例之数据库设计

    一.创建项目 djangio-admin startproject 项目名称 python manage.py startapp app名称 python manage.py runserver 端口 ...

  6. math_等差数列/等比数列求和推导等幂和差推导/两个n次方数之差与等价无穷小实例/求和符号的性质和应用

    文章目录 math_等比数列求和推导&等幂和差推导/两个n次方数之差 等差数列

  7. 【Android 应用开发】Activity 返回堆栈管理 ( 栈内复用模式 singleTask | 单实例模式 singleInstance )

    文章目录 一. singleTask ( 栈内复用模式 ) Activity 实例在返回堆栈中的位置 二. singleTask ( 栈内复用模式 ) Activity 启动的五种情况 三. sing ...

  8. 【CCF 201903-2】 二十四点(符号栈)

    写在前面 本题的常规做法是使用符号栈,特殊解法是使用Python的eval函数. 算法思想 将中缀表达式转化为后缀表达式,使用符号栈和数字栈. 当新的符号op入栈时,有两种情况: ① op的优先级 & ...

  9. Unity3D中平衡类游戏player的基本应用实例

    在场景中创建一个小球,这个小球就是平衡游戏的主角,让小球滚动来,通过控制滚动的方向来实现平衡. 搭建场景如下: 给小球添加刚体和Sphere Collider : 然后简单粗暴上脚本:挂载到Ball上 ...

  10. 数据结构笔记--栈的总结及java数组实现简单栈结构

    杂谈"栈"结构: 栈(Stack)是一种插入删除操作都只能在一个位置上进表,这个位置位于表的末端,叫做栈顶(Top). 对栈的基本操作有push和pop,表示进栈和出栈.也就相当于 ...

最新文章

  1. 牛津大佬|计算机科学方向一对一科研项目
  2. FD.io/VPP — VPP Agent — Overview
  3. 《Java入门经典(第7版)》—— 6.11 练习
  4. C++11 中STL库中新增内容
  5. Pandas条件筛选 | Python技能树征题
  6. PTA 判断对称矩阵 (10分)
  7. linux内核 mpls,将MPLS编译进linux内核中
  8. groovy 字符串截取最后一个_Java基础篇——字符串详解
  9. 微软托管服务器,微软 GitHub 推出新政策,允许托管以安全研究为目的的恶意软件...
  10. 12.swift 元祖
  11. 重拾MVC——第二天:Vue学习与即时密码格式验证
  12. 罗永浩宣布要做带货一哥后,合作单子如雪花般飞来
  13. 纯文字海报如何排版更引人注目?
  14. HTTP Headers Content-Disposition
  15. golang-Tag
  16. 单片机步进电机正反转C语言程序,单片机控制步进电机正反转
  17. DeepFace--Facebook的人脸识别
  18. 程序猿12个“人艰不拆”的真相
  19. 汽车电子学习笔记---AutoSAR概述
  20. btwdins.exe

热门文章

  1. 主题模型TopicModel:LDA编程实现
  2. zookeeper 客户端常用命令_看完这篇文章,还说自己不会使用Zookeeper命令吗?
  3. labVIEW学习笔记(三)簇,局部、全局变量
  4. python窗口怎么显示我输入的_Python分别用两个窗口显示和输入
  5. flex布局 详细开发教程
  6. Ubuntu解决依赖关系问题
  7. 1007 素数对猜想 (20 分)—PAT (Basic Level) Practice (中文)
  8. Android如何实现音频输出路由的切换
  9. Software--Data Visual 数据可视化
  10. 记一次噩梦般的经历——论学会反编译的重要性