| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 525 人关注过本帖
标题:[求助]一个简单的问题
只看楼主 加入收藏
adl589166
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-11-27
收藏
 问题点数:0 回复次数:8 
[求助]一个简单的问题

求括号深度和个数的问题

[此贴子已经被作者于2006-11-28 21:58:21编辑过]

2006-11-27 21:57
我不是郭靖
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:494
专家分:6
注 册:2006-10-4
收藏
得分:0 
用栈做
2个计数器

1个记栈的深度
1个记出栈次数

2006-11-27 22:19
adl589166
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-11-27
收藏
得分:0 

各位大哥,谁能帮忙写个啊!~`拜托了!`


菜鸟一名
2006-11-28 10:42
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

楼上已经说的很简单了.一个记录栈顶top的最大值,一个记录(出栈的次数.

遇到(则进栈,同时判断max1<top是否成立,成立则更新max1.
遇到)则出栈,把栈顶元素(弹出,同时count++.
直到要处理的括号串全部处理完且栈也为空.


倚天照海花无数,流水高山心自知。
2006-11-28 10:50
adl589166
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-11-27
收藏
得分:0 
想起来确实容易,但是写出来老是出错,麻烦楼上帮忙写个行么?
在你看来这个肯定超级容易了

菜鸟一名
2006-11-28 11:22
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
/*写了个,看看有没有错*/

#include<stdio.h>
#include<string.h>
int main()
{
char str[100] , stack[100];
int top=0,max=0,count=0;
gets(str);
for(int i=0;i<strlen(str);i++)
{
if(str[i]=='(')
{
stack[top++]=str[i];
if(top>max)
{
max=top;
}
}
else
{
stack[--top];
count++;
}
}
printf("%-3d%-3d\n",max,count);
return (0);
}

倚天照海花无数,流水高山心自知。
2006-11-28 11:46
adl589166
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-11-27
收藏
得分:0 
强人!~~~

我得好好学学

菜鸟一名
2006-11-28 11:58
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

只要自己肯写,就会写的.楼主加油吧.


倚天照海花无数,流水高山心自知。
2006-11-28 12:29
adl589166
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-11-27
收藏
得分:0 
i 是整型,而strlen(str)是字符型,i < strlen(str)编译时会报warning的,
可不可以把它强制转化成整型:i < int(strlen(str))

菜鸟一名
2006-11-29 08:32
快速回复:[求助]一个简单的问题
数据加载中...
 
   



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

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