使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为: 3 8 5 0 5 0 7

admin2017-02-21  35

问题 使用VC6打开考生文件夹proj2下的工程proj2,其中有元素类Element和队列类Queue的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的输出结果应为:
    3  8  5 0
    5  0  7
    注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
#define MaxLength 100
class Element:{  //“元素”类
public:
    int n;
    Element:(int i=0):n(i){}
};
class Queue{    //“队列”类
    Element * element;
    //指向存储元素的数组的指针
    int tail;//队尾元素的下标
public:
    Queue():element(new Elemerit;[100]),tail(-1){}
    ~Queue(){delete[]element;}
    void push(Element ele);
  //在队列尾端添加一个元素
    Element pop();
//在队列首端删除一个元素,返回被删元素
    Element ffont()const{Eeturn element:[0];}
//返回队首元素,但不从队列中删除该元素//******found******
    int size()const{return(_______);}  //返回元素个数
    void show()const;
//显示集合中所有元素
};
void  Queue∷push  (Elementele){
    if(tail==HaxLength-1)
    return;//空间满,不做任何处理
    //******found******
    _______;
  }
  Element Queue∷pop(){
    if(size()==0)exit(1);
    //队列空,不做任何处理
    Element tmp=element[0];
    for(int i=0;i<tail;i++)
    element=element[i+1];
    //******found******
    _______;
    return trnp;
  }
  void Queue∷show()COnst{
    //******found******
    for(_______)
    cout<<element.n<<’ ’;
    cout<<end1;
  }
  int main(){
    Queue q;
    q.push(3);
    q.push(8);
    q.push(5);
    q.push(0);
    q.show();
    q.pop();
    q.pop();
    q.push(7);
    q.show();
    return 0;
  }

选项

答案(1)tail+1 (2)element[++tail]=ele (3)tail-- (4)int i=0;i<=tail;i++

解析
转载请注明原文地址:https://kaotiyun.com/show/YBAp777K
0

最新回复(0)