資料結構實驗(6)

2021-10-10 01:33:45 字數 1951 閱讀 1197

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...