DS部落格作業03 棧和佇列

2022-05-17 18:18:43 字數 2112 閱讀 8925

6-3是否合法出入棧操作

1.初始化乙個字串和棧//字串用於存需要判斷的括號,棧用於匹配

2.將字串和棧作為形參傳入函式

3.進入函式,遍歷字串,所有屬於右邊括號的都進棧。

遍歷到右括號的時候,用e訪問棧頂,並棧頂元素匹配,如果匹配成功flag=1;並且把棧頂出棧,方便進行下一符號匹配

如果匹配不成功就輸出棧頂e,返回0;

4.最後空棧和flag匹配成功,就返回1;

非空棧但是也匹配成功也屬於不符合題意的,輸出棧頂元素,返回0;

5.主函式根據函式返回值輸出yes/no

1.初始化隊,定義乙個陣列,完成資料輸入

2.m>n情況輸出

3.報數號入隊,便於後續操作

4.將要輸出的元素前面的元素存入陣列 ,並且出隊。讓報數元素作為隊首暴露出來

5.隊不空。輸出隊首元素,開始報數,

6.把原來陣列的元素接到隊後面,開始下一次迴圈報數

7.直到隊中元素滿足不了遊戲,最後把存在陣列中的元素輸出

這個題目我第一眼看到了非常熟悉,很快就敲完了。由於少了getop函式。無法除錯,我提交總是8分

5分鐘能解決的問題,耗費了我大半個小時。最終遺憾沒有15分。最後回到宿舍,對比了練習的**,完全一樣的,看不出錯誤。我叫室友幫我對比2份**,對比半天,終於找出來了:

把輸出樣例2個感嘆號搞混了,這裡不需要加!,結果取掉!**完全正確!

這個舞伴問題的也是算比較熟悉的,所以我也打的很快。由於前面的第一題把我的時間都浪費了很多。我可能有點緊張,打的時候很快。結果敲完後,提交很多遍都編譯錯誤,用編譯器想試下,但是編譯器一點執行就沒反應。然後沒有什麼時間了就跳過了。課後,在看了下錯誤

這次的上機考試對我的意義挺大的,以前很少出現這種情況,我覺得犯小錯誤的原因終究還是自己沒底氣,慌了。總結起來還是平時的訓練的時候沒有真正深入骨髓。如果這個東西真的學到家了,當自己打出這樣的錯誤的時候,腦子裡應該會很直接的提醒自己。像以前一樣的,我上機考試的時候明顯的錯誤很容易看出來,這次可能就是平時的準備不到位。才導致這種情況的發生。還有就是編譯除錯,這次我完全脫離了編譯除錯,最主要的就是我練習的時候沒有把題目不需要的函式去重視起來,今後這方面千萬不能夠馬虎了,如果還不重視。下次考試又是不能除錯的去打**,很難正確。

這次的考試對我能力的提高上可能沒什麼大的作用,由於前面容易題的消磨時間,沒有去碰其餘的題目,而且選擇題都慌到沒有儲存,得了個0分。改正這種低階錯誤看上去很容易, 其實是需要積累的,為什麼以前很少出現,因為以前學習更加掌握的深。準備也更加的好。結合這段時間棧的學習,就是由於我對知識掌握不夠牢固,才會臨陣慌亂。總之,說再多也沒有用,也沒有什麼很大的感受可以說。一切照舊,該學的東西及時學習就行了。

DS部落格作業03 棧和佇列

在createstack函式中為結構體和陣列分配好記憶體,push函式先判斷堆疊是否滿,然後根據tag對相應堆疊進行輸入 pop函式先根據tag判斷對那個堆疊操作,然後再進行判斷是否為空,不空就出棧。q1 輸出搞錯了,滿是沒有輸出tag沒有輸出 q2 沒賦值直接用mystack maxsize 假設...

DS部落格作業03 棧和佇列

本週學習的內容是棧和佇列,相比前一單元的順序表內容,容易了很多,操作上更加簡便。順序表包括順序表和煉表兩塊大內容,順序表的操作主要有建立順序表,查詢順序表中的元素,順序表元素的插入和刪除。鍊錶的主要操作有頭插法建表和尾插法建表,鍊錶的遍歷查詢,有序鍊錶的插入和刪除以及兩個有序鍊錶的合併。而本單元的棧...

DS部落格作業03 棧和佇列

本週學習的棧和佇列,對我來說難點在於棧和佇列的輸出輸入中的棧空和隊空判斷,容易不小心把兩個寫混。在程式設計時,選擇用棧的順序儲存結構空間利用率高,而用鏈式儲存結構可以不用擔心空間的不足或浪費,二者各有優勢,但目前我用順序儲存結構更多。學了棧和佇列,許多問題的解決變得方便了許多,比如括號問題的求解,表...