zoukankan      html  css  js  c++  java
  • SDUT 2134 数据结构实验之栈四:括号匹配

     n圆括号和方括号,其嵌套的顺序随意。如([]())或[([ ][ ])]等为正确的匹配;而[( ])或([ ]( )或 ( ( ) ) )均为错误的匹配。

    这里只介绍了()【】其实加上{}是一样的性质 看代码

     1 #include<stdio.h>
    2 #include<string.h>
    3 int sw(char str)
    4 {
    5 if(str == '(')
    6 return 1;
    7 else
    8 if(str == ')')
    9 return 9;
    10 else
    11 if(str == '[')
    12 return 2;
    13 else
    14 if(str == ']')
    15 return 8;
    16 else
    17 if(str == '{')
    18 return 3;
    19 else
    20 if(str == '}')
    21 return 7;
    22 else
    23 return 0;
    24 }
    25 int push(int top,char str,char stack[])
    26 {
    27 stack[++top] = str;
    28 return top;
    29 }
    30 int main()
    31 {
    32 int i,flag,k,j;
    33 char str[51],stack[30];
    34 while(gets(str)!=NULL)
    35 {
    36 int top = 0;
    37 flag = 1;
    38 k = strlen(str);
    39 j = k;
    40 for(i = 0 ; i < k ; i++)
    41 {
    42 if(sw(str[i])>0&&sw(str[i])<5)
    43 top=push(top,str[i],stack);
    44 else
    45 if(sw(str[i])>0&&sw(str[i])>5)
    46 {
    47 if(top == 0)
    48 {
    49 flag = 0;
    50 break;
    51 }
    52 if(sw(str[i])+sw(stack[top--]) == 10)
    53 flag = 1;
    54 else
    55 flag = 0;
    56 }
    57 if(flag == 0)
    58 break;
    59 }
    60
    61 if(flag == 1&&top == 0)
    62 printf("yes\n");
    63 else
    64 printf("no\n");
    65 }
    66 return 0 ;
    67 }

     

     
     
  • 相关阅读:
    象棋
    支持向量机
    朴素贝叶斯分类
    规则归纳
    监督学习
    序列模式
    关联规则
    从《数据挖掘概念与技术》到《Web数据挖掘》
    数据挖掘在大数据中的应用综述
    join sql图
  • 原文地址:https://www.cnblogs.com/shangyu/p/2346951.html
Copyright © 2011-2022 走看看