2012级计算机科学与技术专业数据结构实验.docVIP

2012级计算机科学与技术专业数据结构实验.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2012级计算机科学与技术专业数据结构实验

2012级数据结构实验 (计算机科学与技术专业用) 线性表的顺、链式存储结构的实现(4学时,验证性实验) 1.线性表的顺序存储结构 要求:利用书本上的线性表的顺序存储结构定义, #define LIST_INIT_SIZE 100 // 线性表存储空间的初 //始分配量 #define LISTINCREMENT 10 // 线性表存储空间的分配增量 typedef struct{ ElemType *elem; // 存储空间基址 int length; // 当前长度 int listsize; // 当前分配的存储容量(以sizeof(ElemType)为单位) } SqList; 1)编写完成下列功能的函数:(1)初始化一个线性表;(2)创建一个包含15个不大于100的正整数值的线性表(15个值由计算机随机产生);(3)将一个数x插在第i个元素前(x和i在程序运行时输入);(4)删除第i个元素(i在程序运行时输入),并在删除结束后输出删除元素的值;(5)输出线性表中所有元素。 2)用主函数调用你所编写的函数,并在使线性表有所变化的每一步输出线性表的内容,以验证你编程序的正确性。 备注:stdlib.h中有srand( )接受随机数的种子; rand( )产生0~RAND_MAX的一个整数的函数。用rand( )%100+1可以产生不大于100的正整数值。 2.线性表的链式存储结构 要求同顺序存储结构,只是用链表作为存储结构完成以上操作。 栈的顺序存储结构、链队列的实现(4学时,验证性实验) 栈的顺序存储结构 要求:利用书本上的栈的顺序存储结构定义, #define STACK_INIT_SIZE 100 // 存储空间初始分配量 #define STACKINCREMENT 10 // 存储空间分配增量 typedef struct { SElemType *base; // base的初值为NULL SElemType *top; // 栈顶指针 int stacksize; // 当前已分配的存储空间,以元素为单位 } SqStack; 1)编写完成下列功能的函数:(1)初始化一个栈;(2)创建一个包含5个不大于100的正整数值的栈(5个值由计算机随机产生);(3)将一个数x插在栈顶(x在程序运行时输入);(4)将栈顶元素弹出, 并在弹出结束后输出弹出元素的值;(5)求栈中元素的个数;(6)输出从栈顶到栈底的所有元素。 2)用主函数调用你所编写的函数,并在使栈有所变化的每一步输出栈从栈顶到栈底的所有元素,以验证你编程序的正确性。 2.链队列的实现 要求:利用书本上的链队列有关类型定义, typedef struct QNode { // 结点类型 QElemType data; struct QNode *next; } QNode, *QueuePtr; typedef struct { // 链队列类型 QueuePtr front; // 队头指针 QueuePtr rear; // 队尾指针 } LinkQueue; 1)编写完成下列功能的函数:(1)初始化一个带头结点的空队列;(2)创建一个包含5个不大于100的正整数值的队列(5个值由计算机随机产生);(3)将一个数x插到队尾(x在程序运行时输入);(4)删除队头元素,并在删除结束后输出删除元素的值;;(5)输出队列中所有元素。 2)用主函数调用你所编写的函数,并在使队列有所变化的每一步输出队列中的从队头到队尾的元素,以验证你编程序的正确性。 三、银行业务模拟系统的设计与实现(6学时,综合性实验,交实验报告) 1.问题描述 假设某银行有四个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于刚进入银行的客户,如果某个窗口的业务员正空闲,则可上前办理业务,反之,若四个窗口均有客户所占,他便会排在人数最少的队伍后面。现在需要编制程序以模拟银行的这种业务活动并计算一天中客户在银行逗留的平均时间。 2.一个完整的系统应具有以下功能: 初始化(OpenForDay),模拟银行开门时各数据结构的状态。 事件驱动(EventDrived), 对客户到达和离开事件做相应处理。 下班处理(CloseForDay), 模拟银行关门时的动作,统计客户平均逗留时间 。 实验目的: 1)通过实验掌握对离散事件模拟的认识; 2)进一步理解队列的实现与应用; 3)对链表的操作有更深层次的理解; 该实验涉及到线性表的建立、插入、删除等操作,涉及

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档