设计一个树型目录结构的文件系统,其根目录为 root,各分支可以是目录,也可以是文件,最后的叶子都是文件。

本文介绍如何设计一个以root为根目录的树型文件系统,其中节点可以是目录或文件,所有叶子节点为文件。实现了根据父目录和文件名创建结构,并确保文本文件无法包含子目录。程序能输出创建的每个文件夹或文件的完整路径。
摘要由CSDN通过智能技术生成

设计一个树型目录结构的文件系统,其根目录为 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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值