欢迎来到天天文库
浏览记录
ID:56267396
大小:138.00 KB
页数:5页
时间:2020-06-04
《王康栈和队列.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、栈和队列1、实验目的(1)熟练掌握栈的逻辑结构和操作规则,能在相应的实际问题中正确选用该结构。(2)熟练掌握栈的2种存储结构实现方法(顺序栈和链栈),两种存储结构和基本运算的实现算法,注意栈空盒满的判断条件及它们的描述方法。(3)熟练掌握队列的逻辑结构和操作规范,能在相应的实际问题中正确选用该结构。(4)掌握循环队列与链队列两种存储结构的实现,熟练掌握各种队列基本运算的实现。2、实验要求(1)顺序栈的插入、删除,栈顶数据元素的读取。(2)链栈的插入、删除,栈顶数据元素的读取。(3)循环队列的插入、
2、删除。(4)链队列的插入、删除。3、实验内容实验①实现顺序栈各种基本运算(1)以顺序栈作为存储结构;(2)实现顺序栈的入栈运算;(3)实现顺序栈的出栈运算;(4)实现顺序栈栈顶元素读取。实验②实现循环队列基本运算(1)以循环队列为存储结构;(2)实现循环队列的建立;(3)实现循环队列的入队运算;(4)实现循环队列的出队运算。4实验程序(1)顺序栈①程序main(){intn,x=1,i;printf("请输入进栈初始化元素:(0为结束符)");while(x)在主程序中实现了入栈、出栈、显
3、示栈顶元素和栈中所有元素的功能。{scanf("%d",&x);在while循环中,出现终止符0则,不再入栈!push(x);}top--;printf("请输入出栈个数:");scanf("%d",&n);printf("出栈元素依次为:");在for循环中,依据用户输入的出栈个数,一个数据一个数据的出栈,直至达到用户的要求!for(;n;n--){printf("%d",pop());}printf("请输入进栈元素:");scanf("%d",&x);push(x);
4、printf("栈内元素有:");for(i=0;i<=top;i++){printf("%d",stack[i]);}printf("");printf("栈顶元素为%d",stack[top]);printf("");}②实验结果(1)循环队列①程序intmain(){intmenu,M,aa,i,j=0;QElemTypee;SqQueues,u;InitQueue(s);InitQueue(u);intp;while(1){printf("");printf("循环队列
5、的应用");printf("*****************************************");printf("**1、入队运算**");printf("**2、出队运算**");printf("**3、读取队元素**");printf("**4、显示队的长度**");printf("**5、退出**");printf("*****************************************");printf("请选择相应操作
6、");//选择菜单scanf("%d",&menu);switch(menu){case1:printf("请输入您所要入队的元素数目");scanf("%d",&aa);printf("请输入您所要入队的元素");for(i=0;i7、还是一部分从资料上找到,一部分自己摸索,然后和同学讨论修改拼凑成的。相比以前,我感觉进步了很多,不管对错,能够写出部分程序,这对我是一个极大的鼓舞。在这两次实验中,我慢慢感受到了数据结构的意义,以及现金额程序时的乐趣,我想以后会投入更多的时间和热情来学习它。
7、还是一部分从资料上找到,一部分自己摸索,然后和同学讨论修改拼凑成的。相比以前,我感觉进步了很多,不管对错,能够写出部分程序,这对我是一个极大的鼓舞。在这两次实验中,我慢慢感受到了数据结构的意义,以及现金额程序时的乐趣,我想以后会投入更多的时间和热情来学习它。
此文档下载收益归作者所有