数据结构上机实验(四)堆栈与队列操作实验目的通过相应算法程序的编写来理解和掌握堆栈的操作特点和过程二、实验环境(硬/软件要求):微机:每人1台;软件:Windows2000,vc三、实验内容设计一个算法,将计算机产生的n个随机数分为奇数、偶数两组,并将它们分别压入两个栈中,然后在屏幕上输出。四、算法设计:首先定义一个堆栈类,采用顺序存储结构。在类中定义*elements用来存放随机产生的数据,同时定义一个基本运算。然后,定义测试主函数。在主函数中,定义两个堆栈对象,将产生出来的奇数和偶数分别压入这两个对象中,最后将它们输出。五、实验报告要求:1、编写程序完成实验内容操作。2、请给出堆栈的操作特点。3、画出程序的流程图。六、实验报告的提交方法:电子文档通过FTP上传到服务器:,用户名与密码都是:00zjl,上传文件名是你的姓名+学号(学号后两位)+当天日期(两位数表示的月+两位数表示的号数)。另外还需同学们打印一份纸质实验报告并在要求时间内通过学习委员提交给任课教师。打印稿的格式请参照文件“”。该文件可以在教师社区的课件发布处下载。附:参考程序#include""#include""#include""typedefintElemType;classSeqStack{unsignedheight;//栈高inttop;//栈顶指针ElemType*elements;//一维数组指针,用于存放栈中元素intmaxsize;//栈的最大栈高public:SeqStack(intsize);//构造函数,size用来设置栈的大小SeqStack(){delete[]elements;}//析构函数voidPushStack(ElemTypex);//进栈函数,将元素x压入栈中ElemTypePopStack(ElemTypex);//出栈函数,将栈顶元素值放入x中voidClearStack(){top=-1;}//清栈函数,用于释放栈所占的内存空间boolIsFullStack(){returntop==maxsize-1;}//判断栈是否为满boolIsEmptyStack();//判断栈是否为空voidPrintStack();//将栈中元素输出到屏幕上};SeqStack::SeqStack(intsize){height=0;top=-1;maxsize=size;//最大栈高elements=newElemType[size];}//进栈函数voidSeqStack::PushStack(ElemTypex){if(IsFullStack())cout<<"栈已满!";else{elements[++top]=x;height++;}}//出栈函数ElemTypeSeqStack
数据结构上机实验(四)堆栈与队列操作 来自淘豆网m.daumloan.com转载请标明出处.