9. 广义表的建立与基本操作
| 成绩 | 10 | 开启时间 | 2014年11月2日 Sunday 14:00 |
| 折扣 | 0.8 | 折扣时间 | 2014年11月20日 Thursday 23:55 |
| 允许迟交 | 是 | 关闭时间 | 2014年11月23日 Sunday 23:55 |
采用"头尾法存储广义表,实现以下广义表的操作:
1.Status CreateGList( GList &L, char *S ) // 根据字符串 S 表示的广义表内容建立广义表数据结构;
2.GList GetHead( GList L) // 取表头运算
3.GList GetTail( GList L) // 取表尾运算
4.void DestroyGList( GList &L) // 销毁广义表 L
5.void PrintGList( GList L) // 显示广义表 L 内容
程序运行时,首先输入一个广义表,表中的原子是小写字母。随后可以交替输入取表头或取表尾指令(分别用 1 和 2 表示),取的结果替代当前广义表,并释放相应的资源(需将释放资源信息输出)。当广义表是空或是原子时,程序停止运行。
例:(下面的黑体为输入)
((a,()),c,d)
generic list: ((a,()),c,d)
1
destroy tail
free list node
generic list: (a,())
2
free head node
free list node
generic list: (())
1
destroy tail
free list node
generic list: ()

本文介绍如何使用头尾法存储广义表,并实现广义表的基本操作,包括根据字符串创建广义表、获取表头、获取表尾、销毁广义表以及显示广义表内容。通过示例展示了程序运行过程,当广义表为空或为原子时,程序停止运行。
5585

被折叠的 条评论
为什么被折叠?



