邏輯結構包括:集合,線性結構,樹形結構,圖形結構
線性結構包括:線性表,鍊錶,棧,佇列,串
樹形結構包括:二叉樹等
棧是一種後進先出表,有順序儲存結構和鏈式儲存結構,基本操作包括:初始化、銷毀、進棧、出棧、判斷棧空、去棧頂。主要應用有:字首表示式轉字尾表示式以及字尾表示式的計算、迷宮問題
佇列是一種先進先出表,有循序儲存結構、迴圈結構、鏈式結構,基本操作有:初始化、銷毀、進隊、出隊、判斷隊空。迴圈結構中判斷元素個數為 (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 ...