7 9 目錄樹 (30 分)

2021-08-30 11:38:22 字數 1122 閱讀 4908

7-9 目錄樹 (30 分)

在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 #include using namespace std;

typedef struct lnodelnode;

lnode* init(char *s,int flag)

lnode *insert_mulu(lnode * p,char* s)

if(strcmp(p->name,s)==0) return p;//與file略有不同,因為檔案是一定要新增的

p->brother=insert_mulu(p->brother,s);

return p;

}lnode * insert_file(lnode *p,char* s)

p->brother=insert_file(p->brother,s);

return p;

}void print(lnode *p,int coun)else return;

}int main()

else t[num++]=s[i];

}if(i==len&&s[len-1]!='\\')

}print(root,0);

}

目錄樹 (30 分)

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

5 30 目錄樹 30分

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

PTA 目錄樹 (30 分)

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