在控制台下做到類似下圖的效果:
具體題目背景:[點這兒].
在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\
roota dza
bcabcdd
c b
由於給出的是一系列的字串路徑,因此我們就要先建立這顆目錄樹;這裡就要根據題目要求合理選擇相應的資料結構了,由於需要字典序,所以我使用了
set
和map
作為其元素的集合和其子目錄的集合,這樣查詢的效率與字典序就都可以滿足了;注意一點,儲存目錄時,儲存的是其指標,這樣可以有效節省記憶體空間,所以在程式結束時要記得手動釋放,不然會造成記憶體洩露;
建好目錄樹後就是遞迴輸出就好了.
控制台下輸出菱形的作業
這是在控制台下輸出的菱形 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...