7 30 目錄樹 30分

2021-10-10 08:34:16 字數 1209 閱讀 5665

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

輸入格式:

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

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

輸出格式:

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

輸入樣例:

7bc\

ab\cd

a\bc

ab\d

a\d\a

a\d\z\

輸出樣例:

root

a dza

bcabcdd

c b

#include

#include

#include

#include

#include

using

namespace std;

struct node

;bool

cmp(

const node* a,

const node* b)

void

insert

(node* root, string str)

else

//返回-1說明str要麼是空,要麼是乙個檔案

root-

>file.

insert

(str)

;return;}

void

dfs(node& root)

void

print

(node root,

int n)

}int

main()

dfs(root)

;print

(root,0)

;return0;

}

7 30 目錄樹 30分

主要思路 1.定義結構體node,包含1 名字name 2 指向下級目錄指標ctl 3 指向下級檔案指標file 4 指向同級目錄或檔案指標next 取決於它本身是目錄還是檔案 定義乙個全域性的指標ptr,指向上乙個處理完畢的結點,比如一開始在輸入 a b c 的中,ptr一開始指向root,從ro...

目錄樹 (30 分)

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

5 30 目錄樹 30分

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