98-7

原创 2016年08月28日 16:14:11
({[入栈 )}]于栈顶比较
<span style="font-size:14px;">#include <iostream>
#include <stdlib.h>
#include <stdbool.h>
using namespace std;
typedef struct node
{
    char c;
    struct node* pnext;
}qnode,*pnode;
typedef struct stack
{
    pnode top;
    pnode botton;
}qstack,*pstack;
bool empty(pstack s)
{
    if(s->top==s->botton)
        return true;
    else
        return false;
}
void init(pstack s)
{
    s->top=(pnode)malloc(sizeof(node));
    s->botton=s->top;
    s->botton->pnext=NULL;
}
void push(pstack s,char c_)
{
    pnode q;
    q=(pnode)malloc(sizeof(qnode));
    q->c=c_;
    q->pnext=s->top;
    s->top=q;
}
void pop(pstack s)
{
    char e;
    pnode temp;
    if(empty(s))
        cout<<"erro";
    else
    {
        e=s->top->c;
        temp=s->top;
        s->top=temp->pnext;
        free(temp);
    }
}
char gettop(pstack s)
{
    char e;
    e=s->top->c;
    return e;
}
int  length(pstack s)
{
    int i=0;
    pnode q;
    q=s->top;
    while(q!=s->botton)
    {
        i++;
        q=q->pnext;
    }
    return i;
}
int  judge(pstack s,char a[],int i)
{
    int j=0;
    char k;
    for(j=0;j<i;j++)
    {
        k=a[j];
        if(a[j]=='(' || a[j]=='{' || a[j]=='[')
        {
            push(s,a[j]);
        }
        else if(a[j]==')')
        {
            k=gettop(s);
            if(k=='(')
                pop(s);
            else
                return -1;
        }
        else if(a[j]==']')
        {
            k=gettop(s);
            if(k=='[')
                pop(s);
            else
                return -1;
        }
        else if(a[j]=='}')
        {
            k=gettop(s);
            if(k=='{')
                pop(s);
            else
                return -1;
        }
    }
    return length(s);
}
int main()
{
    int p;
    qstack s;
    char a[100];
    char ch;
    int i=0;
    while( ( ch = getchar() ) != '\n' )
    {
        a[i]=ch;
        i++;
    }
    init(&s);
    p=judge(&s,a,i);
    if(p==0)
        cout<<"yes";
    if(p>0)
        cout<<") ] }";
    if(p<0)
        cout<<"( [ {";
}</span>

版权声明:本文为博主原创文章,未经博主允许不得转载。

只需98RMB Win7升级为专业版Win8

昨天安装了专业版的Window 8,整体感觉还不错,和试用版的差不错:菜单平板化了、暂时还没有支持的杀毒软件,只好先用系统自带的防护工具(现在功能强大了,带有杀毒扫描功能了,病毒库可以升级的。)。花了...

centOS7访问nginx失败解决-.0:80 failed (98: Address already in use)解决

前提:已经配置好静态IP 以防万一,先安装好iptables服务(不管你装没装,先执行,免得后面添乱) [root@localhost ~]# yum install iptables-service...

Incorrect string value: '\xE7\x94\x98\xE5\xB7\x9E...' for column 'SystemName' at row 1

org.springframework.jdbc.UncategorizedSQLException: ### Error updating database. Cause: java.sql.S...

鼠标驱动,windows98 xp windows7

  • 2012年11月29日 09:22
  • 3.74MB
  • 下载

  • -0001年11月30日 00:00
  • 0

8738声卡驱动(WIN7 XP 98)

  • 2011年10月01日 15:26
  • 31.16MB
  • 下载

84-98_实战项目详细说明

我在成都,你呢? 为了一个人,只身一人来到成都。30小时的站票,在火车上半夜被几次叫醒让我挪一下我的窝,因为到站的人该下车了;就这样一夜做了无数的噩梦! 今天去川大找同学一起自习,刚从川大...

98主题可用于win7

  • 2014年03月17日 20:43
  • 5.57MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:98-7
举报原因:
原因补充:

(最多只允许输入30个字)