設某銀行有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 ...