Data_Structure03-栈和队列
生活随笔
收集整理的這篇文章主要介紹了
Data_Structure03-栈和队列
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、學(xué)習(xí)總結(jié)
1、寫(xiě)出你認(rèn)為本周學(xué)習(xí)中比較重要的知識(shí)點(diǎn)關(guān)鍵詞
·抽象數(shù)據(jù)類(lèi)型 ·棧和隊(duì)列2、思維導(dǎo)圖
二、PTA實(shí)驗(yàn)作業(yè)
選題:
1、7-1 jmu-字符串是否對(duì)稱(chēng)(20 分) 2、7-4(選做) 列車(chē)廂調(diào)度(25 分) 3、7-2 銀行業(yè)務(wù)隊(duì)列簡(jiǎn)單模擬(25 分)題目1:7-1 jmu-字符串是否對(duì)稱(chēng)
1、設(shè)計(jì)思路
#頭文件 int main(){定義字符串 c;輸入字符串;定義字符型棧ch;定義整型變量 len,i,a;len <- c.size();i <- 0;a <- len%2;if !a //偶數(shù)個(gè) then while i小于len do if i小于len/2 //進(jìn)棧then c[i]進(jìn)棧elseif c[i]等于棧頂then 棧頂出棧else then 輸出noreturn 0;i++;end else //奇數(shù)個(gè) then while i小于lendo if i小于len/2 //進(jìn)棧then c[i]進(jìn)棧elseif c[i]等于棧頂then 棧頂出棧else then 輸出noreturn 0;if i等于len/2-1 then i++; i++;end輸出yesreturn 0; }2、代碼截圖
3、PTA提交列表說(shuō)明
編譯錯(cuò)誤:把編譯器改成C++; 運(yùn)行超時(shí):一開(kāi)始我是輸入一個(gè)字符則進(jìn)棧一個(gè)字符,結(jié)果運(yùn)行超時(shí),后來(lái),修改成一次性輸入字符串在進(jìn)行判斷。題目2:7-4(選做) 列車(chē)廂調(diào)度
1、設(shè)計(jì)思路
#頭文件 int main(){定義整型變量 i<-0,j<-0;定義字符型數(shù)組 a,b,res,res2;定義字符型棧s;//用于儲(chǔ)存軌道3的列車(chē)輸入 a,b;while a[i]do if a[i]==b[j]then res[j++]<-a[i];i++;continue;while s不為空&&s棧頂不等于b[j]do res[j]<-b[j]j++;刪除棧頂endif a[i]不等于b[j]then a[i]進(jìn)棧i++end//將軌道3上的列車(chē)全部移向軌道2while 棧s不為空do res[j++]<-棧頂刪除棧頂endif res與b不同then 輸出“Are you kidding me?"return 0;i<-j<-0;//如果res與b相同,則重復(fù)上述操作輸出操作序列while a[i]do if a[i]==b[j]then res2[j++]<-a[i];i++;輸出 "1->2" 且換行continue;while s不為空&&s棧頂不等于b[j]do res2[j]<-b[j]j++;輸出 "3->2" 且換行刪除棧頂endif a[i]不等于b[j]輸出 "1->3" 且換行then a[i]進(jìn)棧i++endwhile 棧s不為空do res2[j++]<-棧頂刪除棧頂輸出 "3->2" 且換行endreturn 0; }2、代碼截圖
3、PTA提交列表說(shuō)明
編譯錯(cuò)誤:代碼中使用了gets()來(lái)輸入字符串,頭文件中的定義中沒(méi)有,后來(lái)改用頭文件#include <bits/stdc++.h> ,該頭文件包括了所有的頭文件,不用寫(xiě)太多的頭文件題目3:7-2 銀行業(yè)務(wù)隊(duì)列簡(jiǎn)單模擬
1、設(shè)計(jì)思路
#頭文件 int main(){定義整型變量 temp,n,i<-0;輸入n;定義隊(duì)列A,B;for i<-0 to n do 輸入tempif temp為奇數(shù)then 進(jìn)A隊(duì)列else //temp為偶數(shù)then 進(jìn)B隊(duì)列end//為了輸出中間的空格,先輸出一個(gè)if A隊(duì)列不為空then 輸出A隊(duì)列頭刪除A隊(duì)列頭i++elsethen 輸出B隊(duì)列頭刪除B隊(duì)列頭while A隊(duì)列不為空并且B隊(duì)列不為空do i++;if i%2then if A隊(duì)列不為空then 輸出” ”和A的隊(duì)列頭刪除A隊(duì)列頭elseif A隊(duì)列不為空then 輸出” ”和A的隊(duì)列頭刪除A隊(duì)列頭if Bthen 輸出” ”和B的隊(duì)列頭刪除B隊(duì)列頭end輸出回車(chē)return 0; }2、代碼截圖
3、PTA提交列表說(shuō)明
編譯錯(cuò)誤:編譯器為改成C++ 部分正確:在輸出第一個(gè)元素的時(shí)候,在B隊(duì)列那里輸出完后沒(méi)有刪除三、本周題目集的PTA最后排名
1、棧PTA排名
2、隊(duì)列PTA排名
3、我的總分:2.5
四、閱讀代碼
碼云地址
五、代碼Git提交記錄截圖
轉(zhuǎn)載于:https://www.cnblogs.com/lanxiang/p/8734770.html
總結(jié)
以上是生活随笔為你收集整理的Data_Structure03-栈和队列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: final 修饰方法参数
- 下一篇: java json转换