欢迎来到天天文库
浏览记录
ID:61510787
大小:169.00 KB
页数:10页
时间:2021-02-08
《栈与对立队列及其应用.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、淮海工学院计算机科学系实验报告书课程名:《数据结构》题目:线性数据结构实验(栈与对立队列及其应用)班级:学号:姓名:评语:成绩:指导教师:批阅时间:年月日线性表算法实现与应用报告要求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;typedefstruct{StackElementTypeelem[Stack_Siz
4、e];inttop;}SeqStack;voidInitStack(SeqStack*S){S->top=-1;}intPush(SeqStack*S,StackElementTypex){if(S->top==Stack_Size-1)return(FALSE);S->top++;S->elem[S->top]=x;return(TURE);}intPop(SeqStack*S,StackElementTypex){if(S->top==-1)return(FALSE);else{x=S->elem[S->top];S->top--;return(TURE);}}voidmain(){
5、SeqStack*S;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);printf("插入后的栈:");for(i=0;i<=S->top;i++)printf("%d",S->elem[i]);Pop
6、(S,t);printf("删除后的栈:");for(i=0;i<=S->top;i++)printf("%d",S->elem[i]);printf("");}(一)、2:#include"stdio.h"#include"stdlib.h"#include"malloc.h"#defineTRUE1#defineFALSE0typedefintStackElementType;typedefstructnode{StackElementTypedata;structnode*next;}LinkStackNode;typedefLinkStackNode*LinkStac
7、k;voidinit_list(LinkStackNode*l)/*栈初始化*/{l=(LinkStackNode*)malloc(sizeof(node));l->next=NULL;}intPush(LinkStacktop,StackElementTypex)/*进栈*/{LinkStackNode*temp;temp=((LinkStackNode*)malloc(sizeof(LinkStackNode)));if(tem
此文档下载收益归作者所有