请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 4 6

admin2019-05-29  37

问题 请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
4 6 3 1 8
4 6 3 1 8
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动//“****found****”。
#include
using namespace std;
class IntStack{  //整数栈类
public:
virtual void push(int)=0;//入栈
virtual int pop()=0;
//出栈并返回出栈元素
  virtual int topElement()const=0,
//返回栈顶元素,但不出栈
  virtual bool isEmpty()const=0;
//判断是否栈空
};
class SeqStack:public IntStack{
  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 dat一[top];)
  bool isEmpty()const{return top一一1;
};
struct Node{
  int data;
  Node*next,
};
class LinkStack:public IntStack{
  Node*top;
public:
//*********found**********
LinkStack():——{)//把to]初始化为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 to]一>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 main(){
  SeqStack stl;pushData(stl);pop—Data(stl);
  cout<  LinkStack st2;pushData(st2);pop—Data(st2);
  cout<  return 0;
}

选项

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

解析 本题考查的是IntStack类及其派生类SeqStack类和IJnk.Stack类,其中涉及纯虚函数、数组、构造函数和动态数组。本题对栈的知识要求很高,栈的特点是先进后出,后进先出。
【解题思路】
(1)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为一1表示栈空,即要把top赋值为一1即可。
(2)主要考查考生对纯虚函数的掌握情况,先看纯虚函数在基类的注释:出栈并返回出栈元素。要返回栈顶元素可以通过data[top]得到,出栈同时要使得top往下移动,即top一一。
(3)主要考查考生对构造函数的掌握情况,先看语句注释:把top初始化为NULL表示栈空,因此使用成员列表初始化直接把top赋值为NULL即可。
(4)主要考查考生对栈的掌握,push为入栈函数,top指向栈顶元素,因此新添加的指针的next要指向top,即p一>next=top;。
转载请注明原文地址:https://jikaoti.com/ti/RXA0FFFM
0

相关试题推荐
最新回复(0)