第三章作業3 佇列 銀行業務佇列簡單模擬

2021-10-10 01:35:50 字數 1456 閱讀 1513

設某銀行有a、b兩個業務視窗,且處理業務的速度不一樣,其中a視窗處理速度是b視窗的2倍 —— 即當a視窗每處理完2個顧客時,b視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同時處理完2個顧客時,a視窗顧客優先輸出。

輸入為一行正整數,其中第1個數字n(≤1000)為顧客總數,後面跟著n位顧客的編號。編號為奇數的顧客需要到a視窗辦理業務,為偶數的顧客則去b視窗。數字間以空格分隔。

按業務處理完成的順序輸出顧客的編號。數字間以空格分隔,但最後乙個編號後不能有多餘的空格。

821

39411

1315

132

911413

15

#include

#include

#include

#include

#include

using

namespace std;

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2

typedef

int position;

typedef

int elementtype;

struct qnode

;typedef

struct qnode *queue;

queue createqueue

(int maxsize)

bool

isfull

(queue q)

bool

addq

(queue q, elementtype x)

else

}bool

isempty

(queue q)

elementtype deleteq

(queue q)

else

}int

main()

else

addq

(q2, n);}

//printf("1\n");

int arr[

1005

], len =0;

while(!

isempty

(q1)||!

isempty

(q2))if

(!isempty

(q2))}

for(

int i =

0; i < len;

++i)

return0;

}

僅供參考

第三章作業題3 佇列

選擇題 2 1 為解決計算機主機與印表機之間速度不匹配問題,通常設定乙個列印資料緩衝區,主機將要輸出的資料依次寫入該緩衝區,而印表機則依次從該緩衝區中取出資料。該緩衝區的邏輯結構應該是?b a.堆疊 b.佇列 c.樹d.圖 2 2 若已知一佇列用單向鍊錶表示,該單向鍊錶的當前狀態 含3個物件 是 1...

第三章棧與佇列 3

棧 先進後出,lifo 佇列 先進先出,fifo 隊尾,rare,隊頭,front 佇列的抽象資料定義 adt queue 資料關係 r1 基本操作 初始化,銷毀,清空,判空,求長度,獲得隊頭,插入元素,刪除隊頭並返回,呼叫函式 adt queue雙端佇列 端點1 端點2 受限的雙端佇列 佇列的兩種...

資料結構 第三章作業 棧與佇列作業

1.經過以下棧運算後,x的值是 initstack s push s,a push s,b pop s,x gettop s,x a b.b c.1 d.0 2 迴圈佇列儲存在陣列a 0.m 中,則入隊時的操作為 a rear rear 1 b.rear rear 1 mod m 1 c.rear ...