数据结构课设——队列程序(共13页).doc
《数据结构课设——队列程序(共13页).doc》由会员分享,可在线阅读,更多相关《数据结构课设——队列程序(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 成 绩 评 定 表学生姓名班级学号专 业计算机科学与技术课程设计题目计算机外部输出设备(如显示器)和的CPU处理数据的速度不同。按先来先服务的方式进行管理,设计缓冲队列,实现外设与CPU的匹配 评语组长签字:成绩日期 2015 年12 月15 日课程设计任务书学 院信息科学与工程学院专 业计算机科学与技术学生姓名班级学号课程设计题目计算机外部输出设备(如显示器)和的CPU处理数据的速度不同。按先来先服务的方式进行管理,设计缓冲队列,实现外设与CPU的匹配。实践教学要求与任务:任务:计算机外部输出设备(如显示器)和的CPU处理数据的速度不同。按先来先服务的方式进行管理
2、,设计缓冲队列,实现外设与CPU的匹配。要求:1)对相应的题目进行算法设计2)编写源代码3)上机调试4)显示调试结果5)写出实验总结工作计划与进度安排:数据结构课程设计时间安排在教学第14周、第15周内完成,按上述题目要求完成查阅资料、程序设计、调试、运行等工作。时间安排如下:1、 查阅资料、与初步设计;1-2天2、 整体功能设计、代码编码与初步调试。1-3天3、 调试和软件功能的测试和验收。1-3天4、 答辩与论文撰写。1-2天指导教师: 2015年11月28日专业负责人:2015年11月28日学院教学副院长:2015年11月28日目 录 一、 题目概述(内容及要求)1. 内容:计算机外部输
3、出设备(如显示器)和的CPU处理数据的速度不同。按先来先服务的方式进行管理,设计缓冲队列,实现外设与CPU的匹配。2. 要求:1)对相应的题目进行算法设计2)编写源代码3)上机调试4)显示调试结果二、 功能分析1. 功能模块图主函数创建队列删除队列元素查询队列元素图2.1 功能模块图程序主要功能分为三个部分:1, 第一个部分为创建队列。创建一个尾插的链表存储数据2, 第二部分为删除队列元素,根据队列特点,应从链表头部删除元素3, 第三部分为查询队列元素,经过查询经过一系列处理后,队列中的元素。4, 在程序的主体main函数中设计程序菜单,通过用户输入选择实现种种功能2.程序流程图定义变量Cas
4、e3Case2Case1图2.2 程序流程图开始While(1)Switch(n)Creat()Del()Print()显示结果Main函数流程设计图:通过一个while循环来实现菜单的设计,内部用switch语句实现对不同功能的函数的调用。三、 设计根据题目要求,是要设计一个队列程序,队列的特点为先进先出。因此根据该特点我设计了一个尾插头删的链表。数据在内存中链式存储,用一个Creat()函数实现对链表的创建。Creat()函数代码如下:struct data * Creat(struct data * front, struct data * real)struct data * p;re
5、al = (struct data *)malloc(sizeof(struct data);p = real;p -num = n + 1;printf(当前用户编号:%d n, p-num);printf(输入证件尾号和用户姓名(中间都好分隔):);scanf(%d,%s, &p -realnum, &p-name);while(p -realnum != 0)n += 1;if(n = 1)front = p;elsereal-next = p;real = p;p = (struct data *)malloc(sizeof(struct data);p -num = n + 1;pr
6、intf(当前用户编号:%d n, p-num);printf(输入证件尾号和用户姓名(中间都好分隔,输入0退出):n);scanf(%d,%s, &p -realnum, &p-name);real -next = NULL;return (front);以上函数实现了队列的后进特点,而先出特点则由del()函数实现del()函数代码如下:struct data * del(struct data * front)struct data * p = NULL;if(front != NULL)p = front -next;front -next = NULL;printf(第%d号用户:%
7、s业务办理完毕n, front -num, front -name);elseprintf(当前无人排队办理业务!n);return (p);最后一部分为查看队列元素函数,代码如下:void print(struct data * front)struct data * p;printf(现在排队办理业务的人有:n);p = front;if(front !=NULL)doprintf(序号:%d, 姓名:%sn, p-num, p-name);p = p-next;while(p != NULL);设计思路:首先程序采用菜单,用户需要输入与操作相对应的序号选项来运行程序。其次,在输入序号选项
8、后,程序会执行相应的函数。题目要求做一个队列程序,我把它想象作是一个排队程序。(1) 有人来挂号排队。这时候就需要创建尾插链表函数。这部分也就相当于计算机键盘录入。(2) 有人排队就需要有人处理。所以设计了一个del()函数从链表的头部删除数据。这部分就相当于计算机CPU处理数据。(3) 有时候需要查询当前还有多少人排队。所以设计个一个print()函数将队列信息打印出来。这部分相当于计算机显示器部分。以此方式来实现题目要求的队列缓冲程序。完整源代码:#include#include#include#define N 5struct data * Creat(struct data * fro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 队列 程序 13
限制150内