收藏 分享(赏)

第4次实验报告.doc

上传人:weiwoduzun 文档编号:3676289 上传时间:2018-11-15 格式:DOC 页数:5 大小:83.04KB
下载 相关 举报
第4次实验报告.doc_第1页
第1页 / 共5页
第4次实验报告.doc_第2页
第2页 / 共5页
第4次实验报告.doc_第3页
第3页 / 共5页
第4次实验报告.doc_第4页
第4页 / 共5页
第4次实验报告.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验 4 队列实验日期:20 年 月 日 实验类型:应用实验概述:一、实验目的本次实验的主要目的是使学生熟练掌握队列的基本操作,能够采用链队解决实际问题。二、实验要求熟悉队列有关算法,掌握链队的初始化、入队、出队、输出操作。三、实验步骤用链队结构实现队列的初始化、入队、出队、输出操作。步骤如下:(1)输入队列长度(2)显示队列元素(3)输入需要入队的元素(4)入队,显示队列元素(5)元素出队,并显示队列的元素实验结果如图:四、实验环境(使用的软件和设备)(1)实习器材: 多媒体计算机。(2)实习地点: 校内多媒体机房。(3)实习软件: VC 6.0实验内容:【实验过程】 (实验步骤、记录、数据

2、、分析)实验过程(提示)#include#includetypedef int elemtype;typedef struct qnodeelemtype data;struct qnode *next;Qnode;typedef struct Qnode *front;/队头指针始终指向单链表的头结点 Qnode *rear;/队尾指针始终指向单链表的尾结点liqueue;/队列的存储结构为两个指向队头,和队尾的 队列结点指针 void initqueue(liqueue *q-front = q-rear = NULL;void destroyqueue(liqueue *if (p !=

3、 NULL)r = p-next;while (r != NULL)free(p);p = r;r = p-next;free(p);free(q);bool queueempty(liqueue *q)/判断队列是否为空 return (q-rear = NULL);void enqueue(liqueue *p = (Qnode *)malloc(sizeof(Qnode);p-data = e;p-next = NULL;if (q-rear = NULL)q-front = q-rear = p;elseq-rear-next = p;q-rear = p;bool dequeue(l

4、iqueue *if (q-rear = NULL)/判断队列是否为空 return false;t = q-front;if (q-front = q-rear)q-front = q-rear = NULL;elseq-front = q-front-next;e = t-data;free(t);return true;void printqueue(liqueue *q)/输出当前队中的数字,不出队Qnode *pnode = q-front;if (pnode = NULL)printf(“队空n“);return;printf(“队列中现在的元素为:n“);while (pnode

5、 != q-rear)printf(“%d “, pnode-data);pnode = pnode-next;printf(“%d “, pnode-data);printf(“n“);void GetLength(liqueue *q)/得到队列的长度int nlen = 0;Qnode *pnode = q-front; if (pnode != NULL) nlen = 1;while (pnode != q-rear)/*遍历队列*/pnode = pnode-next;nlen+; printf(“队列长度为 : “);printf(“%dn“, nlen);void main()

6、elemtype e;liqueue *q;initqueue(q);elemtype x;printf(“设定队列长度 “);elemtype y;scanf(“%d“, int a100;printf(“输入要入队的数字: “);int i;for (i = 0; iy; i+)scanf(“%d“, x = i;for (int j = 0; j x; j+)enqueue(q, aj);printqueue(q);printf(“输入再入队的数字“);elemtype z;scanf(“%d“, enqueue(q, z);printqueue(q);if (dequeue(q, e) = 0)printf(“空队n“);elseprintf(“出队元素: %dn“, e);printqueue(q);destroyqueue(q); 【结果实验记录】 (图形或图像)1.说明掌握情况2.裁图说明实验结果【心得体会、问题和建议】成绩:批阅日期:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 规范标准 > 实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报