广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3568 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
yaingc
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[Basic][求助] VB2005的中序转后序问题
以下程式在输入1*(2+3)*4-5时,输出应为123+*4*5-,可是却是输出123+*4-5*
请问要怎么修改才行呢...?

Dim length As Integer = Len(TextBox1.Text) 'textbox1主要是放输入的中序式
Dim i As Integer
Dim top As Integer = -1
Dim v As String
Dim Postfix_string As String '后序式字串
Dim stack(length) As Char '堆叠

v = TextBox1.Text
i = 0

While i < length
Select Case v(i)
Case "(" '当遇到(直接压入堆叠
top += 1
stack(top) = v(i)

Case ")" '遇到)时,堆叠作POP,直到遇到(

Wh ..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容




献花 x0 回到顶端 [楼 主] From:台湾中华 | Posted:2007-06-10 18:51 |
yaingc
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

会用到的一段副程式,忘了贴

  Function priority(ByRef op As Char) As Integer
    Select Case op
        Case "$"
          Return 1
        Case "*", "/"
          Return 2
        Case "+", "-"
          Return 3
        Case "("
          Return 4
    End Select
  End Function


献花 x0 回到顶端 [1 楼] From:台湾中华 | Posted:2007-06-10 19:07 |
yaingc
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

自行解决了...

    Dim top As Integer = 0

    While top > 0
改了这二行
有兴趣的人可以拿去用


献花 x0 回到顶端 [2 楼] From:台湾中华 | Posted:2007-06-10 21:50 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.017105 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言