1. 程式人生 > >第3次作業 棧和隊列

第3次作業 棧和隊列

操作符 中比 等待時間 設計 作業 後綴 comment 2個 截圖

1.學習總結

到現在為止,已經學習了數據結構緒論、線性表、棧和隊列等知識點。嘗試使用思維導圖將這些碎片化的概念、知識點組織起來。使用Xmind畫出知識點及知識點之間的聯系。步驟如下:
1.1 寫出你認為本周學習中比較重要的知識點關鍵詞,如邏輯結構、棧、隊列、存儲結構等。
1.2 使用思維導圖將這些關鍵詞組織起來。

2.PTA實驗作業

題目1:7-3 表達式轉換

設計思路(偽代碼或流程圖)

中綴表達式到後綴表達的轉換思路:

1. 若是數字則直接放到輸出; 2. 若是操作符‘+’/‘-’/’*‘/’、’, 則放入一個運算符堆棧,放入之前判斷當前運算符優先級是否大於棧頂運算符,是則直接壓入,不是則將棧頂元素出棧放入輸出中,指到當前運算符優先級大於棧頂元素或棧為空後,講當前運算符入棧;這裏要註意,‘+’、-、符號若是前面不是運算因子,則只是作為正負數的標識,並不是運算符; 3. 若是‘(’,則直接入棧,入棧後‘(’的優先級降至最低; 4. 若是‘)’, 將棧頂元素出棧放入輸出中,指到遇到棧頂元素為‘(’為止; 5. 輸入全部讀完後,若是棧中還有元素,全部出棧病放入輸出中。

代碼截圖(註意,截圖、截圖、截圖。代碼不要粘貼博客上。不用用···語法去渲染)

技術分享圖片

技術分享圖片

技術分享圖片

PTA提交列表說明。

沒有想到利用堆棧的先進後出特性,結合算術優先級情況進行編程

題目2:7-1 jmu-字符串是否對稱

設計思路(偽代碼或流程圖)

 判斷一個字符串是否是對稱字符串
 例如:"abc"不是對稱字符串,"aba"、"abba"、"aaa"、"mnanm"是對稱字符串
  分析:
 判斷一個字符串是否是對稱的字符串,我只需要把第一個和最後一個比較第二個和倒數第二個比較,比較字數是長度以2;

代碼截圖(註意,截圖、截圖、截圖。代碼不要粘貼博客上。不用用···語法去渲染)

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

PTA提交列表說明

題目3:7-3 銀行排隊問題之單隊列多窗口服務

設計思路(偽代碼或流程圖)

先通過輸入將隊列保存在數組中,之後用隊列頭元素的到達時間跟窗口的完成時間對比,因為題中說優先考慮近的窗口,所以可以遍歷窗口。如果隊首的到達時間比這個窗口的完成時間大,就不需要等待,更新這個窗口的等待時間,並且這個窗口人數加一,如果這個窗口無法服務,就求出這個窗口的最快完成時間。如果三個窗口都無法滿足,就需要等待,並且求出等待的時間並且用下表記錄。最後將需要等待的時間和完成的時間都記錄下來。最後將題目要求的數據輸出就行。

代碼截圖(註意,截圖、截圖、截圖。代碼不要粘貼博客上。不用用···語法去渲染)

技術分享圖片

技術分享圖片

技術分享圖片

PTA提交列表說明

 

3.截圖本周題目集的PTA最後排名

本次2個題目集總分:125+215=340分

必做題共:205分

3.1 棧PTA排名

技術分享圖片

3.2 隊列PTA排名

技術分享圖片

3.3 我的總分:137

4. 閱讀代碼

5. 代碼Git提交記錄截圖

第3次作業 棧和隊列