ps:僅資料結構實驗記錄
題目:某汽車輪渡口,過江渡船每次能載 10 輛車過江。過江車輛分別為客車類和貨車類,上船有如下規定:同類車先到先上船,客車先於貨車上渡船,且每上 4 輛客 車,才允許上一輛貨車;若等待客車不足 4 輛則以貨車代替;若無貨車等待則允許客 車都上船。設計乙個演算法模擬渡口管理。
//標頭檔案部分**
queue.h
#pragma once
#include
using
namespace std;
const
int maxsize =30;
template
<
typename datatype>
class
queue
//析構函式
void
en_queue
(datatype x)
;//入隊操作
datatype de_queue()
;//出隊操作
int len;
//記錄佇列元素個數
private
:int rear;
//指向隊尾元素
datatype data[maxsize];}
;//cpp部分**
queue.cpp
#include
"queue.h"
template
<
typename datatype>
queue
::queue()
template
<
typename datatype>
void queue
::en_queue
(datatype x)
else
throw
"上溢";}
template
<
typename datatype>
datatype queue
::de_queue()
}template
<
typename datatype>
void queue
::print()
cout <<
" "<< data[rear]
; cout << endl;
}queue<
char
> wait_b;
//在等待的客車
queue<
char
> wait_h;
//在等待的貨車
void
go_ship()
else
if(b_tatal <
4&& wait_h.len !=0)
//船上未滿4客車,岸上有貨車等待;
else
if(b_tatal >=
4&& wait_h.len ==0)
//船上已滿4輛客車,岸上沒有貨車等待
else
if(b_tatal >=
4&& wait_h.len !=0)
//船上已滿4客車,岸上有貨車等待;
} count++
; cout <<
"第 "
<< count<<
" 輛船裝載完畢,裝載情況如下:"
;for
(int j =
0; j <
10; j++
) cout<<
" "<< ship.
de_queue()
; cout << endl;}}
//測試
intmain()
for(
int j =
0; j < num2; j++
)go_ship()
;return0;
}
資料結構實驗6
因為精度問題,請使用double存資料。要求建立棧類,採用陣列描述 計算數學表示式的值。輸入數學表示式,輸出表示式的計算結果。數學表示式由單個數字和運算子 構成,例如 2 3 4 5 6 4。假定表示式輸入格式合法。格式輸入 第一行乙個整數n 1 n 100 代表表示式的個數。接下來n行,每行乙個表...
資料結構實驗6
題目 某汽車輪渡口,過江渡船每次能載 10 輛車過江。過江車輛分別為客車類和 貨車類,上船有如下規定 同類車先到先上船,客車先於貨車上渡船,且每上 4 輛客 車,才允許上一輛貨車 若等待客車不足 4 輛則以貨車代替 若無貨車等待則允許客 車都上船。設計乙個演算法模擬渡口管理。test.h inclu...
資料結構實驗6 樹
編寫演算法函式void levelorder tree t 實現樹的層次遍歷。include tree.h void levelorder tree t t為指向樹根結點的指標 int main 假設樹採用指標方式的孩子表示法表示,試編寫乙個非遞迴函式void preorder1 tree root...