部落格作業03 棧和佇列

2022-05-16 20:28:00 字數 2116 閱讀 3824

邏輯結構包括:集合,線性結構,樹形結構,圖形結構

線性結構包括:線性表,鍊錶,棧,佇列,串

樹形結構包括:二叉樹等

棧是一種後進先出表,有順序儲存結構和鏈式儲存結構,基本操作包括:初始化、銷毀、進棧、出棧、判斷棧空、去棧頂。主要應用有:字首表示式轉字尾表示式以及字尾表示式的計算、迷宮問題

佇列是一種先進先出表,有循序儲存結構、迴圈結構、鏈式結構,基本操作有:初始化、銷毀、進隊、出隊、判斷隊空。迴圈結構中判斷元素個數為 (rear-front+max)%max,出隊時rear=(rear+1)%max,進隊時front=(front+1)%max,隊滿(rear+1)%max=front;鏈式儲存結構中,有兩種節點:鏈隊節點、資料節點

輸入一串字串;

將每個字元入棧;

再全部出棧,存在字元陣列中;

對比連個字元陣列是否相同 ;

錯誤說明:

出棧的字串陣列最後沒有加結束符,導致對稱時答案錯誤

定義佇列q,讓1到n的數進隊

本題最開始不是用的標頭檔案做的,改用標頭檔案做後,**量減少了很多,兩個部分正確是因為,輸出error是沒加!。

typedef structperson; //存放顧客資訊

typedef structqueue; //顧客佇列

typedef structwindow; //視窗資訊

輸入每個顧客的資訊,若有顧客處理時間超過60分鐘,則修改為60

每個顧客的資料入隊

while(隊不為空)

若視窗全部有人

}所有顧客都判斷結束,計算平均等待時間,在視窗中找出最後完成的時間

本題的主要問題是時間的資料型別要為浮點型,一開始定義為整數型,導致一直有的點過不了

總分:227

鐵軌問題:

某城市有乙個火車站,鐵軌鋪設如圖所示。有n節車廂從a方向駛入車站,按進站順序編號為1~n。你的任務是讓它們按照某種特定的順序進入b方向的鐵軌並駛出車站。為了重組車廂,你可以借助中轉站c。這是乙個可以停放任意多節車廂的車站,但由於末端封頂,駛入c的車廂必須按照相反的順序駛出c。

**:

#include#include#includeusing namespace std;

const int maxn =1000+10;

int n,target[maxn];

int main()

else if(!s.empty()&&s.top()==target[b])

else if(a本題中對於每個車廂,一旦從a移入c,就不能再回到a了;一旦從c移入b,就不能回到c了。換句話說,在任意時刻,只有兩種選擇:a–>c和c–>b。

部落格作業03 棧和佇列

定義乙個棧s用來存放str字串的值 str的值依次如s棧中 str的值與s值依次比較 如果有乙個不等,return 0 反之都相等 return 1 建立佇列q1 將1至n的數字依次入佇列 如果m大於n return error 否則while i 沒有考慮到結尾不能有多餘空格 將認識排號為奇數存入...

部落格作業03 棧和佇列

1.1緒論 程式 資料結構 演算法 資料組織方式 1資料的邏輯結構和資料的儲存結構,邏輯結構 集合,線性結構,樹形結構,圖形結構,儲存方式 順序儲存方式,鏈式儲存方式,索引儲存方式,雜湊儲存方式 空間複雜度,時間複雜度 邏輯結構 線性結構 鏈式儲存方式 順序儲存方式。順序儲存方式 操作 creatl...

部落格作業03 棧和佇列

定義棧指標s,定義n儲存返回值 輸入乙個字串str 動態申請空間 呼叫函式symmetry n 0,輸出no n 1 輸出yes 定義n,m 定義佇列指標q 定義e儲存出隊元素,flag判斷輸出格式,num 0判斷何時輸出 輸入n,m 如果m n 輸出error 申請空間 for i 1 to n ...