如果用乙個迴圈陣列表示佇列,並且只設佇列頭指標front,不設尾指標rear,而是另設count記錄佇列中元素個數。請編寫演算法實現佇列的入隊和出隊操作。
bool addq
( queue q, elementtype x )
;elementtype deleteq
( queue q )
;
typedef
int position;
typedef
struct qnode *ptrtoqnode;
struct qnode
;typedef ptrtoqnode queue;
注意:如果佇列已滿,addq函式必須輸出「queue full」並且返回false;如果佇列是空的,則deleteq函式必須輸出「queue empty」,並且返回error。
#include
#include
#define error -1
typedef
int elementtype;
typedef
enum
operation;
typedef
enum
bool;
typedef
int position;
typedef
struct qnode *ptrtoqnode;
struct qnode
;typedef ptrtoqnode queue;
queue createqueue
(int maxsize )
bool addq
( queue q, elementtype x )
;elementtype deleteq
( queue q )
;operation getop()
;/* 裁判實現,細節不表 */
intmain()
}return0;
}/* 你的**將被嵌在這裡 */
4
deladd 5
add 4
add 3
deldel
add 2
add 1
add 0
add 10
end
輸出樣例:
queue empty
5 is out
4 is out
queue full32
10
這是乙個迴圈佇列,當開始的時候不知道為什麼一直不對,後來去找了一下別人的做法,才發現自己錯了,以後可要認真讀題啊!
有機會再回來做做這個題吧!
bool addq
( queue q, elementtype x )
else
}elementtype deleteq
( queue q )
else
}
3 3 另類迴圈佇列 20分
如果用乙個迴圈陣列表示佇列,並且只設佇列頭指標front,不設尾指標rear,而是另設count記錄佇列中元素個數。請編寫演算法實現佇列的入隊和出隊操作。函式介面定義 bool addq queue q,elementtype x elementtype deleteq queue q 其中queu...
3 3 另類迴圈佇列 20分 HBU DS
如果用乙個迴圈陣列表示佇列,並且只設佇列頭指標front,不設尾指標rear,而是另設count記錄佇列中元素個數。請編寫演算法實現佇列的入隊和出隊操作。函式介面定義 3 3 另類迴圈佇列 20分 如果用乙個迴圈陣列表示佇列,並且只設佇列頭指標front,不設尾指標rear,而是另設count記錄佇...
6 7 另類迴圈佇列(20 分)
6 7 另類迴圈佇列 20 分 如果用乙個迴圈陣列表示佇列,並且只設佇列頭指標front,不設尾指標rear,而是另設count記錄佇列中元素個數。請編寫演算法實現佇列的入隊和出隊操作。函式介面定義 bool addq queue q,elementtype x elementtype delete...