1 / 6
文档名称:

实验五--栈和队列验证实验报告.docx

格式:docx   大小:37KB   页数:6页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验五--栈和队列验证实验报告.docx

上传人:xiaohuer 2022/5/1 文件大小:37 KB

下载得到文件列表

实验五--栈和队列验证实验报告.docx

文档介绍

文档介绍:1 / 6
班级:计算机11-1 学号: 姓名: 成绩:_________
实验一 顺序表操作验证
实验目的
(1)掌握栈的顺序存储结构;
(2)掌握栈的操作特性;
(3)掌握基于顺序栈的基本操作的实现方法。
(4)掌   *rear; //队头和队尾指针,分别指向头结点和终端结点
};//顺序栈初始化算法
template <class T>
SeqStack<T>::SeqStack()
{
  top=-1;
}//顺序栈入栈算法Push
template <class T>
void SeqStack<T>::Push(T x)

  if (top==StackSize-1)
  cout<<"上溢"<<endl;
 else
  data[++top]=x;
}//顺序栈出栈算法Pop
template <class T>
T SeqStack<T>::Pop()
{
int x;
 if (top==-1)
 cout<<"栈为空,无法删除"<<endl;
else
  x=data[top--];
 return x;
}template <class T>
T SeqStack<T>::GetTop()
{
if(top==-1)
cout<<"栈为空"<<endl;
else
cout<<"栈顶的元素为:"<<data[top]<<endl;
return 0;
}//链队列构造函数算法LinkQueue
template <class T>
LinkQueue<T>::LinkQueue( )
{
3 / 6
Node<T>*s;
   s=new Node<T>;
s->next=NULL; //创建一个头结点s
 front=rear=s;          //将队头指针和队尾指针都指向头结点s
}template <class T>
LinkQueue<T>::~LinkQueue()

Node<T> *q,*front;
while(front!=NULL)
{
q=front;
front=front->next;
delete front;
}
}//链队列入队算法EnQueue
template <class T>
void LinkQueue<T>::EnQueue(T x)
{
Node<T>*s;
  s=new Node<T>; 
  s->data=x; //申请一个数据域为x的结点s
  s->next=NULL;
  rear->next=s;    //将结点s插入到队尾
 rear=s;
}//链队列出队算法DeQueue
template <class T>
T LinkQueue<T>::DeQueue( )

int x;
Node<T>*p;
 if (rear==front)
cout<<"下溢"<<endl;
else
 p=front->next; 
x=p->data;   //暂存队头元素
  front->next=p