第六周 棧與佇列作業

2022-07-24 01:15:21 字數 2666 閱讀 2705

1.2我的思維導圖:

本週要求挑選出3道題目書寫設計思路、除錯過程。設計思路使用偽**描述。題目選做要求:

a.不能選函式題

b. 程式設計題選3題

2.1題目一:7-1 jmu-字串是否對稱(20 分)

2.2偽**:定義字串s2,定義棧s1

;int i=0;

for(i=0;s2[i];i++)s1.push(s2[i]);//字串全部入棧;

i=0;

while(!s1.empty())

2.2設計思路:利用棧先進後出的儲存特點,字串入棧後,出棧元素恰好是字串是逆序的;

2.3**截圖:

2.4  pta提交列表:

列表說明:部分正確是因為while(i++);

將i++提出在while語句中後則全部正確;

2.1題目二:7-2 符號配對(20 分)

2.2偽**:定義str字串;定義q棧;

while(gets(str))'||'*/')p.push(str[i])//碰到右邊符號:

if(!p.empty()&&p.top()=='(')p.pop();//棧首元素為對應的左符號,棧首出棧;

else//否則即為不配對字元;

if(!p.empty())//若棧不為空,則是缺少右邊符號;

2.2設計思路:左符號入棧,碰到右符號時比較棧頂元素與右符號是否配對;若棧頂為空或不配對,說明缺少左符號

否則比較完後,看棧中是否還有元素,若有,則說明缺少右符號;

2.3**截圖:

2.4  pta提交列表:

列表說明:編譯錯誤是因為中英文輸入法;

執行超時是結束輸入語句判斷錯誤;

2.1題目三:7-1 jmu-報數遊戲(15 分)

2.2偽**:定義變數n表總人數,m表迴圈報數的數;

定義乙個佇列q;

先從1到n依次入隊;

while(k--&&!q.empty())

依次取m-1個數出隊然後又入隊,入到後面;

cin>>e;//跳出迴圈時輸出第m個數的值;

從第乙個數開始出隊k=m-1(k--),且在第m個數之前的數出隊後加到原隊的後面,直到第m個數,出隊。k又開始從k=m-1開始計數;

2.2設計思路:因為佇列先入先出的特點,要第m個數出隊,則其前面的數必須先出隊,所以可以把他們出隊後又依次加在佇列的後面;

2.3**截圖:

2.4  pta提交列表:

列表說明:編譯錯誤是因為複製貼上的不準確,出現很多小問題;

3.截圖本週題目集的pta最後排名

3.1 棧pta排名

3.2 佇列pta排名

3.3 我的總分:2分

4.閱讀**

原因:將符號優先順序轉化為數字,更容易理解;

5. **git提交記錄截圖

第六周作業

a.用指標訪問物件 includeusing namespace std class a a int aa a aa 定義建構函式,用引數aa初始化資料成員a void display int main b.指標型別作為成員函式的引數 includeusing namespace std class...

第六周作業

1 自建yum倉庫,分別為網路源和本地源 本地源 cd etc yum.repos.d vim local.repo local name local cdrom yum baseurl file misc cd enabled 1 gpgcheck 1 gpgkey file etc pki rp...

第六周作業

1.簡述gps載波相位測量的基本原理?載波相位測量是利用接收機測定載波相位觀測值或其差分觀測值,經基線向量解算以獲得兩個同步觀測站之間的基線向量座標差的技術和方法。載波相位觀測量理論上是gps訊號在接收時刻的瞬時載波相位值。但實際上是無法直接測量出任何訊號的瞬時載波相位值,測量接收到的是具有都卜勒頻...