陕西国际商贸学院数据结构第二章 栈和队列--应用举例.pdfVIP

  • 0
  • 0
  • 约9.85千字
  • 约 27页
  • 2019-05-05 发布于广东
  • 举报

陕西国际商贸学院数据结构第二章 栈和队列--应用举例.pdf

三、栈和队列的应用 1、数制转换 (N ) (M ) (b b b b ) 10 d m1 m2 1 0 d b d m1 b d m2  b d 1 b d 0 m1 m2 1 0 (b d m2 b d m3  b d 0 )d b m1 m2 1 0 •通过不断的求除于d 的余数,得到各个数位上的值。 •得到的数值序列和实际中的相反 •如果输出,先得到的数位值在后得到的数位值之后 显示 ——利用栈将得到的数位值暂时存储起来。 2 、括号匹配 得到一个右括号的时候,会和与它最接近的一个同类型左括号进 行匹配。根据括号的嵌套原则,最外层的左括号最后才会被匹配, 它和内层括号的处理关系是先进後出的关系。拿到一个左括号的 时候,不能确定立刻匹配,所以要将他们暂时存储起来。 [...(..()..)..{}..] [ ( ( ) ) { } ] ( ( ( ( { { [ [ [ [ [ [ [ [ [ • 3、行编辑 int i = 1; 应用程序 while ... e l i h w = i t n i 输入缓冲区 用户数据区 用户一旦发现输入错误,可以利用退格键删除刚刚输入的 字符。在删除操作过程中,删除的是最近输入的字符。所 以输入缓冲区中数据的处理具有先进后出的特点。 用栈结构来实现一个输入缓冲区。(Algo3.2) • 4 、表达式求值 • 一个表达式由操作数(亦称运算对象)、操作符 (亦称 运算符) 和分界符组成。 • 算术表达式有三种表示:  中缀(infix)表示 操作数 操作符 操作数,如 A+B;  前缀(prefix)表示 操作符 操作数 操作数,如 +AB;  后缀(postfix)表示 操作数 操作数 操作符,如 AB+;  表达式中相邻两个操作符的计算次序为:  优先级高的先计算;  优先级相同的自左向右计算;  当使用括号时从最内层括号开始计算  优先关系 table 3.1 a + b * ( c - d ) - e ^ f / g a + b * ( c - d ) - e ^ f / g 1、— 4、^ 2、* 5、/ 3、+ 6、— •得到操作符的时候不一定得到了所有的操作数,所以不能立刻处理。— —操作数和操作符都需要存储。 •得到一个完整原子表达式的时候,(一个操作符和相应数量的操作数) 不能立刻计算,还应该察看其后的操作符和当前操作符的优先级关系。 如果

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档