為了做這道題,我又重新去學習了string類,太闊怕了
這道題題目很長,很煩,不想看,於是乎,提取重點來啦:
如下圖,是乙個常見的目錄,對吧
根目錄名字就是/.
.表示返回上級目錄/和
./之類的都是分隔符,不用管它就是了
本題就是現在你處在某個目錄下,你輸入一堆目錄,然後把它們化為標準格式就ok
比如第乙個f1資料夾就是/d1
/f1f3資料夾/d2
/d3/f3
但是你輸入的檔案格式可能不對,比如f3資料夾,你輸入/d2
/./d3
///f3
/,題目要求
你需要把它弄成/d2
/d3/f3
還有就是當前目錄是/d1
,你輸入..
/d2/d3
/f3,.
.代表返回上級目錄,
所以你從d1返回根目錄/,
然後進入d2,d3
,f3,所以你應該把它標準化為/d2
//路徑個數
string now,path,st;
//當前目錄,輸入目錄字串,st相當於tmp
deque p;
//絕對路徑以"/"開頭
//相對路徑不以"/"開頭
intmain()
for(
int i=
0; i
length()
;i++)if
(path[i]
=='/'
) path[i]
=' '
;//設定空格,為字串流處理做準備
stringstream s
(path)
;//相當於s=path操作
while
(s>>st)
cout<<
"/";
//輸出/ ,表示目錄開始
for(
int i=
0;isize()
;i++
) cout<
}return0;
}
棧的應用 解析算術表示式
對計算機的演算法來說,直接求算術表示式的值是相當困難的,一般分兩步實現演算法會更容易 將算術表示式轉換成另一種形式。計算字尾表示式的值。第一步比較難,但第二步很簡單。對計算機來說,這種分兩步的演算法比直接解析演算法容易的多。中綴表示式是一種通用的算術或邏輯公式表示方法,操作符以中綴形式處於運算元的中...
棧的基本應用 求迷宮的路徑
include stdafx.h typedef structcoordinate typedef struct item define maze line 10 define maze row 9 int a maze row maze line int mark maze row maze li...
CSP練習題2(棧 路徑解析)
在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案或其他目錄。同乙個目錄下的所有檔案和目錄的名字各不相同,不同目錄下可以有名字相同的檔案或目錄。為了指定檔案系統中的某...