棧至關於一個單口容器,後放的在上面,當取出時就要先取出上面的,因此是後進先出。隊列則像是一頭進一頭出的隊伍,先排到隊列的先出來。棧能夠用於實現深度優先搜索,隊列則能夠用於實現廣度優先搜索。同時,二者還能夠結合巧妙解決逆轉,表達式轉換或者求值等問題。c++
在CreateStack函數中爲結構體和數組分配好內存,push函數先判斷堆棧是否滿,而後根據Tag對相應堆棧進行輸入 pop函數先根據Tag判斷對那個堆棧操做,而後再進行判斷是否爲空,不空就出棧。
Q1:輸出搞錯了,盡是沒有輸出Tag沒有輸出算法
Q2:沒賦值直接用Mystack->MaxSize數組
假設在週末舞會上,男士和女士們分別進入舞廳,各自排成一隊。跳舞開始,依次從男隊和女隊隊頭各出一人配成舞伴,若兩隊初始人數不一樣,則較長那一隊未配對者等待下一輪舞曲。現要求寫一算法模擬上述舞伴配對問題。 你須要用隊列操做實現上述算法。請完成下面5個函數的操做。函數
男女所有分別入隊,而後先男出隊,後女出隊,直到至少一隊爲空。
Q1:函數都比較簡單可是多須要細心處理,因此有小錯誤學習
請編寫程序檢查C語言源程序中下列符號是否配對:/與/、(與)、[與]、{與}。設計
左括號入棧,右括號就取棧頂配對,根據配對結果輸出。若是最後棧空即爲配對成功。
Q1:一個輸出寫錯一直沒發現。
Q2:對/和*判斷處理不夠細心,循環要移動兩次3d
排隊「夾塞」是引發你們強烈不滿的行爲,可是這種現象時常存在。在銀行的單窗口排隊問題中,假設銀行只有1個窗口提供服務,全部顧客按到達時間排成一條長龍。當窗口空閒時,下一位顧客即去該窗口處理事務。此時若是已知第i位顧客與排在後面的第j位顧客是好朋友,而且願意替朋友辦理事務的話,那麼第i位顧客的事務處理時間就是本身的事務加朋友的事務所耗時間的總和。在這種狀況下,顧客的等待時間就可能被影響。假設全部人到達銀行時,若沒有空窗口,都會請求排在最前面的朋友幫忙(包括正在窗口接受服務的朋友);當有不止一位朋友請求某位顧客幫忙時,該顧客會根據本身朋友請求的順序來依次處理事務。試編寫程序模擬這種現象,並計算顧客的平均等待時間。code
建一個結構體,包括名字,到達時間,辦理時間,朋友圈,而後輸入數據創建鏈表,而後鏈表第一個數據入隊列,再遍歷剩下鏈表節點,若是發現某節點名字在第一個數據的朋友圈中而且在朋友辦理事務以前到達就入隊,把入隊的節點所有刪除,重複操做,直到鏈表爲空,就意味着處理完畢。blog
Q1:沒有考慮好空閒時間和第一個客戶不是0分到達的狀況隊列
輸入一個後綴表達式,程序求出表達式值。
錯誤緣由: