(⊙v⊙)嗯
用带父结点指针的儿子—兄弟链树来模拟文件目录系统
针对于目录系统,CatalogTree的结点存放的数据内容为字符串,每个结点对应一个目录项,该目录项可以是目录,也可以是文件,如果是目录就可以再存放其它目录或文件,即非叶结点;如果是文件就是叶结点。从根结点到该结点路经所有结点的字符串用“/”进行组合后就是该目录项的绝对路径,用来唯一的标识该目录。例如:/usr/li/email/student/。
目录系统具有如下基本操作:
1) dir ——列出当前目录下的所有目录项
2) cd ——打出当前目录的绝对路经
3) cd ..——当前目录变为当前目录的父目录
4) cd str——当前目录变为str所表示路径的目录
5) mkdir str ——在(当前目录下)创建一个子目录(名为str)
6) mkfile str ——在(当前目录下)创建一个文件(名为str)
7) delete str ——删除(当前目录下)名为str的目录或文件
① 描述并实现CatalogTree的ADT,包括其上的基本操作:如插入一个结点,寻找一个结点,返回一个结点的最左儿子等(具体情况依据应用自定)。
② 应用CatalogTree的ADT实现一个完成文件目录系统的Shell应用程序。
③ 该Shell是一个不断等待用户输入命令的解释程序,根据用户输入的命令完成相关操作,直到退出(quit)。命令名及其含义如上所述。
④ 目录树结构可以保存(save)到文件中,也可从文件中读出(load *.dat)。
⑤ dir命令的结果应能够区分是子目录和还是文件。
⑥ 应对命令4)~7)中的str区分是绝对路经,还是相对路径。
------------------------------------------------------------------------------------
这是老师出的题目.....刚学习二叉树,很多地方不太明白
望高手能帮我分析一下针对这些功能
这个二叉树三叉链表应该有哪些方法呢?