資料結構實驗6

2022-08-21 14:09:08 字數 1891 閱讀 5139

題目:某汽車輪渡口,過江渡船每次能載 10 輛車過江。過江車輛分別為客車類和 貨車類,上船有如下規定:同類車先到先上船,客車先於貨車上渡船,且每上 4 輛客 車,才允許上一輛貨車;若等待客車不足 4 輛則以貨車代替;若無貨車等待則允許客 車都上船。設計乙個演算法模擬渡口管理。

test.h

#include#include

#include

#include

#define maxsize 50typedef

intelemtype;

typedef

struct

sequenqueue

sequenqueue;

sequenqueue *init_sequenqueue()

if (q !=null)

returnq;}

void print(sequenqueue *q)

}void printexit(sequenqueue *q)

system(

"pause");

}void

menu()

void entryqueue(sequenqueue *q)//

入隊 printf(

"輸入x並以0結束:");

scanf("%d

", &x);

while (x != 0

)

return;}

int exitqueue(sequenqueue *q)//

出隊 first = ((q->rear + maxsize) - q->len + 1) % maxsize; //

計算隊頭元素的下標

x = q->sequ[q->front]; //

獲得隊頭元素

q->len--; //

長度減一

q->front = (q->front + 1) % maxsize; //

移動頭指標

printf("

已將%d出隊\n

", x);

printf(

"尾部位置%d\n

", q->rear);

printf(

"頭部位置%d\n

", q->front);

returnx;}

int exit1(sequenqueue *q)

void entry1(sequenqueue *q, int

x) q->sequ[q->rear] = x; //

入隊 q->rear = (q->rear + 1) % maxsize; //

移動隊尾指標

q->len++;

return;}

void output(sequenqueue *b, sequenqueue *t, sequenqueue *f)

else

if (busnum < 4 && b->len == 0 && t->len != 0

)

else

if (busnum >= 4 && t->len != 0

)

else

if (busnum >= 4 && t->len == 0 && b->len != 0

)

else

}}

test.c

#include "

test.h

"void

main()

system(

"cls");

menu();

i =_getch();

}}

資料結構實驗6

因為精度問題,請使用double存資料。要求建立棧類,採用陣列描述 計算數學表示式的值。輸入數學表示式,輸出表示式的計算結果。數學表示式由單個數字和運算子 構成,例如 2 3 4 5 6 4。假定表示式輸入格式合法。格式輸入 第一行乙個整數n 1 n 100 代表表示式的個數。接下來n行,每行乙個表...

資料結構實驗(6)

ps 僅資料結構實驗記錄 題目 某汽車輪渡口,過江渡船每次能載 10 輛車過江。過江車輛分別為客車類和貨車類,上船有如下規定 同類車先到先上船,客車先於貨車上渡船,且每上 4 輛客 車,才允許上一輛貨車 若等待客車不足 4 輛則以貨車代替 若無貨車等待則允許客 車都上船。設計乙個演算法模擬渡口管理。...

資料結構實驗6 樹

編寫演算法函式void levelorder tree t 實現樹的層次遍歷。include tree.h void levelorder tree t t為指向樹根結點的指標 int main 假設樹採用指標方式的孩子表示法表示,試編寫乙個非遞迴函式void preorder1 tree root...