电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实验报告2

数据结构实验报告2_第1页
1/5
数据结构实验报告2_第2页
2/5
数据结构实验报告2_第3页
3/5
下载后可任意编辑 中央广播电视大学实验报告( 学科: 数据结构 ) 姓名班级学号实验日期批改日期成绩评定老师签名实验名称: 实验二 栈、 列队、 递归程序设计2.1 栈和队列的基本操作【问题描述】编写一个算法, 输出指定栈中的栈底元素, 并使得原栈中的元素倒置。【基本要求】( 1) 正确理解栈的先进后出的操作特点,建立初始栈, 经过相关操作显示栈底元素。( 2) 程序中要体现出建栈过程和取出栈底元素后恢复栈的入栈过程, 按堆栈的操作规则打印结果栈中的元素。【实验步骤;】( 1) 运行PC中的Microsoft Visual C++ 6.0程序, ( 2) 点击"文件"→"新建" →对话窗口中"文件" →"c++ Source File" →在"文件名"中输入"X1.cpp" →在"位置"中选择储存路径为"桌面" →"确定", ( 3) 输入程序代码, 程序代码如下:#include #include #define MaxSize 100typedef char ElemType;typedef struct{ElemType data[MaxSize];int top;} SeqStack;//定义栈typedef struct{//栈顶指针ElemType elem[MaxSize];int front,rear;} SqQueue;//定义队列//队首和队尾指针//---初始栈函数void InitStack(SeqStack *&s){s=(SeqStack *)malloc(sizeof(SeqStack));s->top=-1;}//----进栈函数int Push(SeqStack *&s,ElemType e){if (s->top==MaxSize-1)return 0;s->top++;s->data[s->top]=e;下载后可任意编辑 return 1;}//---显示栈函数void DispStack(SeqStack *s){int i;for (i=s->top;i>=0;i--)printf("%c ",s->data[i]);printf("\n");}//---显示栈底元素void DispBottomStack(SeqStack *s){printf("%c ",s->data[0]);//先进后出,栈底元素为第一个元素,即data[0]printf("\n");}//---判空栈函数int StackEmpty(SeqStack *s){return(s->top==-1);}//---出栈函数int Pop(SeqStack *&s,ElemType &e){if (s->top==-1)return 0;e=s->data[s->top];s->top--;return 1;}//---初始队列函数void InitQueue(SqQueue *&q){q=(SqQueue *)malloc (sizeof(SqQueue));q->front=q->rear=0;}//---入队列函数int InQueue(SqQueue *&q,ElemType e){if ((q->rear+1)%MaxSize==q->front) //队满return 0;q->rear=(q->rear+1)%MaxSize;q->elem[q->rear]=e;return 1;}//---出队列函数int OutQueue(SqQueue *&q,ElemType &e)下载后可任意编辑 {}if (q->front==q->rear) //队空return 0;q->...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实验报告2

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部