控制台下字典序蛇形列印目錄樹

2021-08-10 23:48:05 字數 1569 閱讀 9390

在控制台下做到類似下圖的效果:

具體題目背景:[點這兒].

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

輸入首先給出正整數n(

≤104)

,表示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

由於給出的是一系列的字串路徑,因此我們就要先建立這顆目錄樹;

這裡就要根據題目要求合理選擇相應的資料結構了,由於需要字典序,所以我使用了setmap作為其元素的集合和其子目錄的集合,這樣查詢的效率與字典序就都可以滿足了;

注意一點,儲存目錄時,儲存的是其指標,這樣可以有效節省記憶體空間,所以在程式結束時要記得手動釋放,不然會造成記憶體洩露;

建好目錄樹後就是遞迴輸出就好了.

控制台下輸出菱形的作業

這是在控制台下輸出的菱形 using system using system.collections.generic using system.linq using system.text namespace 菱形製作 for z 1 z m z console.write n m 2 else f...

windows 控制台下執行cl命令

前提 確保已經安裝vc6或者vs系列 我們可以再命令列直接編譯c 程式 在windows作業系統中,開啟命令列,輸入cl,若系統提示 cl 不是內部或外部命令,也不是可執行的程式或批處理檔案。則說明vs沒有安裝或者環境變數設定不正確,可以按照如下步驟設定 1.確保已經安裝vs,並在控制台 中鍵入se...

windows 控制台下執行cl命令

前提 確保已經安裝vc6或者vs系列 我們可以再命令列直接編譯c 程式 在windows作業系統中,開啟命令列,輸入cl,若系統提示 cl 不是內部或外部命令,也不是可執行的程式或批處理檔案。則說明vs沒有安裝或者環境變數設定不正確,可以按照如下步驟設定 1.確保已經安裝vs,並在控制台 中鍵入se...