【练习3.25】
编写实现队列的例程,使用
a.链表
b.数组
Answer:
在这章一开头就已经写了个链表的队列例程了,所以实际上只要做b小题就可以。
数组模拟队列和链表的两点小不同是:
①、数组空间有限,入队需要检测数组是否已经满
②、数组经过几次操作后,rear可能绕回front前面,所以许多操作都要用模来实现。
测试代码:
1 #include <iostream> 2 #include "queue.h" 3 using namespace std; 4 using namespace queue; 5 template class Queue<int>; 6 int main(void) 7 { 8 Simu_Queue<int> test(6); 9 //测试插入 10 test.enqueue(2); 11 test.enqueue(3); 12 test.enqueue(5); 13 test.enqueue(7); 14 test.enqueue(11); 15 test.enqueue(13); 16 test.enqueue(17); 17 test.traverse(); 18 cout << endl; 19 //测试删除 20 test.dequeue(); 21 test.dequeue(); 22 test.dequeue(); 23 test.traverse(); 24 cout << endl; 25 //测试绕数组遍历 26 test.enqueue(17); 27 test.enqueue(19); 28 test.enqueue(23); 29 test.traverse(); 30 cout << endl; 31 32 system("pause"); 33 }