3 3 另類迴圈佇列 20分 細節

2021-10-25 00:14:00 字數 1664 閱讀 5676

如果用乙個迴圈陣列表示佇列,並且只設佇列頭指標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...