/*
* file name : aqueue.cpp
* function : 陣列實現迴圈佇列 c++實現
陣列a[0] 一端為head
1. 當 head==tail時為空
2. tail總指向 隊尾元素的下一位置
3. tail max==head-1,也就是說,保留乙個元素空間
4. 佇列最多有 max-1 個元素
5. 當 (tail+1)% max ==head 時,佇列滿.
6. 佇列長度 若 head < tail,為 tail - head
若 head > tail,為 tail - head +max
綜上 佇列長度= ( tail - head +max )% max
* created on : 2023年4月26日
* author : [email protected]
任何單位和個人不經本人允許不得用於商業用途
*/#include #include using namespace std;
#define max 10
typedef int elem_t;
typedef struct aqueue aqueue;
void queue_init(aqueue & q);
void queue_clear(aqueue & q);
bool queue_is_empty(aqueue & q);
bool queue_in(aqueue & q, elem_t elem);
bool queue_out(aqueue & q, elem_t &elem);
int queue_get_length(aqueue & q);
bool queue_get_head(aqueue & q, elem_t &elem);
int main(int argc, char** argv)
cout << "the length of queue is " << queue_get_length(aq) << endl;
queue_get_head(aq, elem);
cout << "the head of queue is " << elem<< endl;
for (int i = 0; i <=5; i++)
} for (int i = 0; i <=6; i++)
cout << "the length of queue is " << queue_get_length(aq) << endl;
queue_get_head(aq, elem);
cout << "the head of queue is " << elem << endl;
return 0;
}void queue_init(aqueue & q)
void queue_clear(aqueue & q)
bool queue_get_head(aqueue & q, elem_t &elem)
elem = q.data[q.head];
return true;
}bool queue_is_empty(aqueue & q)
bool queue_is_full(aqueue &q)
bool queue_in(aqueue & q, elem_t elem)
if (q.tail == max)
q.data[q.tail++] = elem;
return true;
}bool queue_out(aqueue & q, elem_t &elem)
elem = q.data[q.head++];
if (q.head == max)
q.head = 0;
return true;
}int queue_get_length(aqueue & q)
佇列 陣列實現 迴圈佇列
1 陣列佇列.cpp 定義控制台應用程式的入口點。2 3 include4 include5 include abs 6 include7 include8 using namespace std 9 10 定義乙個佇列的結構體11 struct myqueue12 17 18 規則說明 19 nh...
陣列實現迴圈佇列
1 動態陣列型別 typedef struct qnode queue 1 分配結構體內存與陣列記憶體 queue initialize1 相應main函式 int main 2 只分配陣列記憶體不分配結構記憶體 int initialize2 queue q 相應main函式 int main 2...
迴圈陣列實現佇列
佇列是先進先出 fifo 模式,從隊尾加入元素的操作叫入隊,從隊首刪除元素的操作叫出隊 設定兩個指標分別為front指向隊首,real指向隊尾。開始時front和real分別為 1。當有元素入隊時real 1 當有元素出隊時front 1.public class queuesimulation s...