问答题
18分
打开考生文件夹proj3下的工程proj3,工程中的IntQueue是以链表方式实现的整数队列,队列中的每个元素是一个整数,保存在一个结点中,并通过结点的链接形成一个链,head和tail分别是指向该...
打开考生文件夹proj3下的工程proj3,工程中的IntQueue是以链表方式实现的整数队列,队列中的每个元素是一个整数,保存在一个结点中,并通过结点的链接形成一个链,head和tail分别是指向该链的队首结点和队尾结点的指针。既然是队列,入队元素总是添加在队列尾部,出队元素总是队列的首元素。请补充完成成员函数show。此程序的正确输出结果应为:
刚建立时:
添加8,3后:8 3
添加5后:8 3 5
删除首元素8后:3 5
添加-7后:3 5 -7
删除首元素3后:5 -7
注意:只需在函数purchase的"//********333********"和"//********666********"之间填入若干语句,不要改动程序中的其他内容。
刚建立时:
添加8,3后:8 3
添加5后:8 3 5
删除首元素8后:3 5
添加-7后:3 5 -7
删除首元素3后:5 -7
注意:只需在函数purchase的"//********333********"和"//********666********"之间填入若干语句,不要改动程序中的其他内容。
参考解析: 【参考答案】
Node *p;
p = head;
while(p)
{
os<<p->data<<' ';
p = p->next;
}
【考点分析】
本题考查IntQueue类,其中涉及构造函数、析构函、成员函数、链表的操作。
【解题思路】
题目中要求打印出队列中数据,那么需要依次遍历队列中的结点,需要一个临时指针移动位置,使用while循环可以实现依次遍历,遍历完一个元素后将指针指向下个元素,继续打印。