设计一个树型目录结构的文件系统,其根目录为 root,各分支可以是目录,也可以是文件,最后的叶子都是文件。
我实现的功能是提供父目录(兄弟目录),输入文件名,创建树型目录结构,文本文件不可以再有子目录。最终打印出每个创建的文件夹或文本文件的路径。
代码:
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
typedef struct node //节点
{
char *data; //文件名
int dir_file; //文件夹或者文本文件
struct node *first_child,*next_sibling;
} tree; //多叉树
typedef struct //存放树节点的队列
{
tree * data;
int pre;
} Box;
typedef struct
{
Box data[100];
int front,rear;
} Queue;
Queue que;
void height(tree *t) // 层序遍历
{
tree *p = t,*q;
que.data[0].data = p;
que.data[0].pre = -1;
que.front = -1;
que.rear