路徑解析 棧的應用

2021-10-05 15:50:24 字數 1450 閱讀 3083

為了做這道題,我又重新去學習了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(棧 路徑解析)

在作業系統中,資料通常以檔案的形式儲存在檔案系統中。檔案系統一般採用層次化的組織形式,由目錄 或者資料夾 和檔案構成,形成一棵樹的形狀。檔案有內容,用於儲存資料。目錄是容器,可包含檔案或其他目錄。同乙個目錄下的所有檔案和目錄的名字各不相同,不同目錄下可以有名字相同的檔案或目錄。為了指定檔案系統中的某...