栈及对立队列及其应用

栈及对立队列及其应用

ID:20900903

大小:197.00 KB

页数:10页

时间:2018-10-17

栈及对立队列及其应用_第1页
栈及对立队列及其应用_第2页
栈及对立队列及其应用_第3页
栈及对立队列及其应用_第4页
栈及对立队列及其应用_第5页
资源描述:

《栈及对立队列及其应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、淮海工学院计算机科学系实验报告书课程名:《数据结构》题目:线性数据结构实验(栈与对立队列及其应用)班级:学号:姓名:评语:成绩:指导教师:批阅时间:年月日《数据结构》实验报告-9-线性表算法实现与应用报告要求1目的与要求:1)掌握栈与队列的数据类型描述及特点;2)掌握栈的顺序和链式存储存表示与基本算法的实现;3)掌握队列的链式和循环存储表示与基本操作算法实现;4)掌握栈与队列在实际问题中的应用和基本编程技巧;5)按照实验题目要求,独立完成实际程序的编写编写、调试和运行,并通过用例数的运行过程抓获相关屏面验证程序设计的正确性;7)由于国庆节占用授课时间,所以本次实验将不

2、做统一上机安排,要求同学们节日期间自行完成实验任务,并于第6周周4以前按时提交实验报告。2实验内容或题目(一)必做题:1、实现顺序栈的创建(初始化)、压入(插入)、弹出(删除)操作(数据元素类型自己选取,如整型、字符型等),并给出栈的每次操作变化状态;2、实现链栈的创建(初始化)、压入(插入)、弹出(删除)操作(数据元素类型自己选取,如整型、字符型等),要求给出栈的操作变化过程;3、实现循环队列的创建、进队、出队等基本操作(数据元素类型自己选取,如整型、字符型等),并实时给出队列的操作变化状态;4、实现链式队列的创建、进队、出队等基本操作(数据元素类型自己选取,如整型

3、、字符型等),并实时给出队列的操作变化状态;(二)选做题(视自己能力而定,数量不限):任选一个或多个源程序(已经发给学委),并阅读、调试和运行程序,而后给出程序功能分析和实例运行演示;1、实现表达式求值算法程序;2、用递归算法实现汉诺塔问题算法程序;3、使用循环队列实现打印杨辉三角形算法程序。3实验步骤与源程序(一)、1:#include"stdio.h"#include"stdlib.h"#include"malloc.h"#defineTURE1#defineFALSE0#defineStack_Size25typedefintStackElementType;t

4、ypedefstruct{StackElementTypeelem[Stack_Size];inttop;《数据结构》实验报告-9-}SeqStack;voidInitStack(SeqStackS){S->top=-1;}intPush(SeqStackS,StackElementTypex){if(S->top==Stack_Size-1)return(FALSE);S->top++;S->elem[S->top]=x;return(TURE);}intPop(SeqStackS,StackElementTypex){if(S->top==-1)return(FA

5、LSE);else{x=S->elem[S->top];S->top--;return(TURE);}}voidmain(){SeqStackS;intr,t;inti;S=(SeqStack)malloc(sizeof(SeqStack));printf("请输入栈的长度:");scanf("%d",&r);S->top=r-1;printf("请输入栈中的个元素值:");for(i=0;i<=S->top;i++)scanf("%d",&S->elem[i]);printf("请输入要插入的元素值:");scanf("%d",&t);Push(S,t)

6、;printf("插入后的栈:");for(i=0;i<=S->top;i++)printf("%d",S->elem[i]);Pop(S,t);printf("删除后的栈:");for(i=0;i<=S->top;i++)printf("%d",S->elem[i]);printf("");《数据结构》实验报告-9-}(一)、2:#include"stdio.h"#include"stdlib.h"#include"malloc.h"#defineTRUE1#defineFALSE0typedefintStackElementType;typed

7、efstructnode{StackElementTypedata;structnodenext;}LinkStackNode;typedefLinkStackNodeLinkStack;voidinit_list(LinkStackNodel)/栈初始化/{l=(LinkStackNode)malloc(sizeof(node));l->next=NULL;}intPush(LinkStacktop,StackElementTypex)/进栈/{LinkStackNodetemp;temp=((LinkStackNode)malloc(sizeof

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。