文件名称:生成输出-vmware虚拟机中centos安装 centos安装qt的教程图解
文件大小:8.63MB
文件格式:PDF
更新时间:2024-06-29 06:29:58
程序设计实践
3.4 生成输出 数据结构构造好之后,下一步就是产生输出。这里的基本思想与前面类似:给定一个前 缀,随机地选出它的某个后缀,打印输出并更新前缀。当然,这里说的是处理过程的稳定状 态,还需要弄清算法应该如何开始和结束。如果我们已经记录了文中第一个前缀,操作就非 常简单了:直接从它们起头。结束也容易。我们需要一个标志字来结束算法,在所有正常输 入完成之后,我们可以加进一个结束符,一个保证不会在任何输入里出现的“词”: N O N W O R D应该是某个不可能在正规输入里遇到的值。由于输入词是由空白界定的,一个空白 的“词”总能扮演这个角色,比如用一个换行符号: 还有一件事也需要考虑:如果输入根本就不够启动程序,那么又该怎么办呢?处理这类问 题有两种常见方式:或是在遇到输入不足时立即退出执行;或是通过安排使得输入总是足够 的,从而就完全不必再理会这个问题了。对这里的程序而言,采用后一种方式能够做得很好。 我们可以用一个伪造的前缀来初始化数据结构构造和输出生成过程,这样就能保证程序 的输入总是足够的。在做循环准备时,我们把前缀数组装满 N O N W O R D词。这样做有一个非常 好的效果:输入文件里的第一个词将总是这个伪造前缀的第一个后缀 。这样,生成循环要 打印的全都是它自己生成的后缀。 如果输出非常长,我们可以在产生了一定数目的词之后终止程序;另一种情况是程序遇 到了后缀N O N W O R D。最终看哪个情况先出现。 在数据的最后加上几个 N O N W O R D,可以大大简化程序的主处理循环。这是一种常用技术 的又一个实例:给数据加上哨卫,用以标记数据的界限。 54计计程序设计实践 下载 实际上也是惟一的一个。—译者