| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 599 人关注过本帖
标题:高手看看这个程序
只看楼主 加入收藏
zonelight
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-3-11
收藏
 问题点数:0 回复次数:2 
高手看看这个程序
#include "stdafx.h"
#include "iostream.h"
#include "stdio.h"
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef struct{
    int *elem;
    int top;
    int stacksize;
    int incrementsize;
}SqStack;

void InitStack_Sq(SqStack &S,int maxsize=STACK_INIT_SIZE,int increment=STACKINCREMENT)
{
    S.elem=new int[maxsize];
    S.top=-1;
    S.stacksize=maxsize;
    S.incrementsize=increment;
}

void IncrementStackSize(SqStack &S)
{int i;
int *a;
    a=new int[S.stacksize+S.incrementsize];
for(i=0;i<=S.top;i++)
a[i]=S.elem[i];
delete []S.elem;
S.elem=a;
S.stacksize+=S.incrementsize;
}

void Push_Sq(SqStack &S, char e)
{if(S.top=S.stacksize) IncrementStackSize(S);
S.elem[++S.top]=e;
}

void OverflowMessage(char *s)
{cout<<s<<endl;

}

char GetTop_Sq(SqStack S,char &e)
{if(S.top==-1) OverflowMessage("顺序栈下溢!");
e=S.elem[S.top];
return e;}

char Pop_Sq(SqStack &S,char &e)
{if(S.top==-1) OverflowMessage("顺序栈S下溢!");
e=S.elem[S.top--];
return e;}

bool abab(SqStack S)
{
char ch;
char e;
int state;


    InitStack_Sq(S);
  Push_Sq(S,'#');
  ch=getchar();
  state=1;
  while(ch!='\n'&&state)
  {if(ch=='('||ch=='['||ch=='{')
    Push_Sq(S,ch);
   if(ch==')'||ch==']'||ch=='}')
   {if(GetTop_Sq(S,e)=='#')
     state=0;
     else if(GetTop_Sq(S,e)==ch)
         Pop_Sq(S,e);
     ch=getchar();}
   if(GetTop_Sq(S,e)!='#') state=0;
   if(state) return true;
   else return false;
  }

  


int main(int argc, char* argv[])
{SqStack S;
abab(S);
    return 0;
}

判断输入的大小中括号是否配对的问题。。。。。。。。。我知道我主函数写错了。。我不知道该怎么写
搜索更多相关主题的帖子: int increment 
2008-03-20 21:25
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
你不会是在写编译器吧?这种东西工作量很大..你括号不匹配

学习需要安静。。海盗要重新来过。。
2008-03-20 21:56
zonelight
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-3-11
收藏
得分:0 
[bo]以下是引用 [un]sunkaidong[/un] 在 2008-3-20 21:56 的发言:[/bo]

你不会是在写编译器吧?这种东西工作量很大..你括号不匹配

abab函数写错了?该怎么写。。。。。。
2008-03-20 22:01
快速回复:高手看看这个程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020264 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved