武汉软件工程职业学院数据结构讲义第09讲.docVIP

  • 3
  • 0
  • 约8.52千字
  • 约 10页
  • 2021-11-21 发布于天津
  • 举报

武汉软件工程职业学院数据结构讲义第09讲.doc

第九讲栈的应用 ?巩固栈的定义及表示。 ?掌握栈的应用方法,理解栈的重要作用 教学重点: 利用栈实现表达式求值 教学难点: 利用栈实现表达式求值 授课内容 3. 1.4 栈的应用举例 由于栈的“先进先出”特点,在很多实际问题中都利用栈做一个辅助的数据结构来进 行求解,下面通过几个例子进行说明。 【例3.1】简单应用:数制转换问题 将十进制数N转换为r进制的数,其转换方法利用辗转相除法:以 N=3456, r=8 为例 转换方法如下: N N / 8 (整除) N % 8 (求余) 3467 433 3 」 ? 低 433 54 1 54 6 6 6 0 6 高 所以:(3456) 10 = (6563) 8 我们看到所转换的 8进制数按底位到高位的顺序产生的,而通常的输出是从高位到低 位的,恰好与计算过程相反, 因此转换过程中每得到一位 8进制数则进栈保存,转换完毕后 依次出栈则正好是转换结果。 算法思想如下:当 N0时重复1, 2 1 .若N丰0,则将N % r压入栈s中,执行2;若N=0, 将栈s的内容依次出栈,算 法结束。 2.用N / r 代替N 算法如下: typedef int datatype; #defi ne L 10 void con vers ion (i nt N , int r) void conversion (i nt N ,int r) { SeqS

文档评论(0)

1亿VIP精品文档

相关文档