编程风格:程序设计与系统构建的艺术(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.7 练习

1.用另一种语言实现示例程序,但风格不变。

2.在示例程序中,第78行的比较功能没有遵循Forth编程语言的风格,而是使用了Python语言高级的包含检查功能if x in y。重写这部分程序,即在堆上存放的字典变量中查找是否存在给定的单词,并且使用Forth语言的编程风格。解释该搜索实现方式对程序的性能有何影响。

3.Python语言是通过列表来实现栈的,这让示例程序有些令人困惑。用Python语言实现一个真正的栈数据结构(很可能是通过包装列表),使该数据结构具备真正的栈操作:push、pop、peek和empty等。修改示例程序,用自定义的数据结构替代第7行定义的列表。

4.使用Forth风格编写“导言”中提出的任务之一。


[1]在Python语言中,栈就是列表,我们通过调用pop和append(充当push)将它们(列表)当作栈来使用。偶尔,我们也会使用extend作为将整个列表的元素追加/压入栈的快捷方式。