5 30 目錄樹 30分

2021-07-04 14:42:17 字數 2166 閱讀 7604

在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。

輸入格式說明:

輸入首先給出正整數n(<=104),表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每行有如下格式的檔案或目錄的相對路徑和名稱(每行不超過260個字元):

1) 路徑和名稱中的字元僅包括英文本母(區分大小寫);

2) 符號「\」僅作為路徑分隔符出現;

3) 目錄以符號「\」結束;

4) 不存在重複的輸入專案;

5) 整個輸入大小不超過2mb。

輸出格式說明:

假設所有的路徑都相對於root目錄。從root目錄開始,在輸出時每個目錄首先輸出自己的名字,然後以字典序輸出所有子目錄,然後以字典序輸出所有檔案。注意,在輸出時,應根據目錄的相對關係使用空格進行縮排,每級目錄或檔案比上一級多縮排2個空格。

樣例輸入與輸出:

序號輸入輸出

1

7bc\

ab\cd

a\bc

ab\d

a\d\a

a\d\z\

root

a dza

bcabcdd

c b

2

1

z\

root

z

/*

建立目錄樹 和 輸出 結果均用到了遞迴的思想

特別要注意資料結構的定義 和 函式引數 這裡容易犯錯誤

*/#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define n 10001

int n;

typedef

struct node

}node;

//node* newnode(bool ismulu,string name1)

//// return nt;

//}node* root;

node* createtree(node* root,string s)

flag = true;

break;}}

if (flag == false)

root->nextji.push_back(newt);}}

else

}if (flag == false)}}

return root;

}bool cmp(node* n1, node* n2)

void show(node* root,int num)

}int main()

show(root, 0);

//printf("\n");

}return

0;}

#include 

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

#define n 1001

typedef

struct node

}fnode;

int n ;

fnode* createtree(fnode* root , string s)

}if(flag == false)

}else

}if(flag == false)

}}bool cmp(fnode* f1 , fnode* f2)

void pf(fnode* root , int ceng)

}int main()

pf(root,0);

return

0 ;}

目錄樹 (30 分)

在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。輸入首先給出正整數n 10 4 表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每行有如下格式的檔案或目錄的...

7 9 目錄樹 (30 分)

7 9 目錄樹 30 分 在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。輸入首先給出正整數n 10 4 表示zip歸檔檔案中的檔案和目錄的數量。隨後n行,每...

PTA 目錄樹 (30 分)

7 14 目錄樹 30 分 在zip歸檔檔案中,保留著所有壓縮檔案和目錄的相對路徑和名稱。當使用winzip等gui軟體開啟zip歸檔檔案時,可以從這些資訊中重建目錄的樹狀結構。請編寫程式實現目錄的樹狀結構的重建工作。輸入格式 輸入首先給出正整數n 10 4 表示zip歸檔檔案中的檔案和目錄的數量。...