棧和佇列的應用 魔王語言

2021-05-22 05:22:38 字數 558 閱讀 5103

一、基本要求

用下述三條具體規則)實現。設大寫字母表示魔王語言的詞彙;小寫字母表示人的語言詞彙;希臘字母表示可以用大寫字母或小寫字母代換的變數。魔王語言可含人的詞彙。

(1)a→sae (a的規則可以自己定義,比如a→abc)

(2)b→tada (b的規則也可以自己定義哈)

(3)(θδ1δ2...δn)→θδnδn-1...θδ1θ

二、實現提示

將魔王的語言自右至左進棧,總是處理棧頂字元。若是開括號,則逐一出棧,將字母順序入佇列,直至閉括號出棧,並按規則要求逐一出佇列再處理後入棧。其他情形較簡單,請讀者思考應如何處理。應首先實現棧和佇列的基本操作。

三.測試資料

b(ehnxgz)b解釋成

tsaedsaeezegexenehetsaedsae

**如下:

測試資料:

輸入a規則:

sae#

輸入b規則:

tada#

輸入魔王說的話:

b(ehnxgz)b#

tsaedsaeezegexenehetsaedsae

棧和佇列 魔王語言解釋

1 作業系統 windows 10 x64 1 首先實現棧和佇列的基本操作,棧和佇列都採用順序儲存結構,佇列通過取模形成迴圈佇列。class stack status push char a status pop char a class queue status enqueue char e st...

棧和佇列的綜合應用

迷宮問題。假設迷宮由m行n列構成,有乙個入口和乙個出口,入口座標為 1,1 出口座標為 m,n 試設計並驗證以下演算法 找出一條從入口通往出口的路徑,或報告乙個 無法通過 的資訊。1 用c語言實現順序儲存結構上佇列的基本操作,然後利用該佇列的基本操作找出迷宮的一條最短路徑。2 設計乙個二維陣列maz...

棧和佇列(二) 棧的應用舉例

一 數制轉換 十進位制數n和其它d進製數的轉換是計算機實現計算的基本問題,其解決方法很多,其中乙個簡單的演算法是基於下列原理 n n div d d n mod d。其中 div為整除運算,mod為求餘運算。例 1348 10 2504 8,其運算過程如下 n n div 8 n mod 8 134...