请打开考生文件火下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6 3 1 8

admin2021-05-06  27

问题 请打开考生文件火下的解决方案文件proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
    4 6 3 1 8
    4 6 3 1 8
    注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动//“****
found****”。
#include
using namQspace std;
class TntStack{  //整数栈类
public:
  virtual void push(int)=0;
  //入栈
  virtual int pop()=0 ;
//出栈并返回出栈元素
    virtual  int  topElement  (  )
const=0;
//返回栈顶元素,但不出栈
  virtual bool isEmpty()const
=0;
//判断是否栈空
}j
class SeqStack:public TntStack{
  int data[100];  //存放栈元素的数组
  int top;  //栈顶元素的下标
public:
    //********found********
    SeqStack():_____________{}//把top初始化为-1表示栈空
  void push(int n){data [++top ]=n;}
    //********found********
    int pop(){return____________;}
    int topElement()const{return data[top];}
bool isEmpty()const{return top=-1;)
};
struct Node{
  int data;
  Node*next;
};
class LinkStack:public IntStack{
  Node*top ;
public:
//********found********
LinkStack():____________{}
//把top初始化为NULL表示栈空
  void push(int n){
    Node*p=new Node;
    p->data=n;
//********found********
    ___________;
    top=p;
  }
  int pop(){
    int d=top->data;;
    top=top->next;
    return d;
  }
  int topElement()const{return top->data;}
  bool isEmpty()const{return
top==NULL;}
};
void pushData(IntStack&St){
  st.push(8);
  st.push(1);
  st.push(3);
  st.push(6);
  st.push(4);
}
void popData(IntStack&St){
  while(!St.isEmpty())
  cout<}
int msin(){
  SeqStack st1;pushData(stl);
popData(stl);
  cout<  LinkStack st2;pushData(st2);
popData(st2);
  Cout<  return 0;
}

选项

答案(1)top(-1) (2)data[top--] (3)top(NULL) (4)p->next=top

解析 (1)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为-1表示栈空,即要把top赋值为-1即可。
    (2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:出栈并返回出栈元素。要返回栈顶元素可以通过data[top]得到,出栈同时要使得top往下移动,即top--。
    (3)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为NuLL表示栈空,因此使用成员列表初始化直接把top赋值为NULL即可。
    (4)主要考查考生对栈的掌握,push为入栈函数,top指向栈顶元素,因此新添加的指针的next要指向top,即p->next=top;。
转载请注明原文地址:https://kaotiyun.com/show/SUfp777K
0

最新回复(0)