数据结构案例宝典Word下载.docx

上传人:b****3 文档编号:17893554 上传时间:2022-12-11 格式:DOCX 页数:10 大小:20.47KB
下载 相关 举报
数据结构案例宝典Word下载.docx_第1页
第1页 / 共10页
数据结构案例宝典Word下载.docx_第2页
第2页 / 共10页
数据结构案例宝典Word下载.docx_第3页
第3页 / 共10页
数据结构案例宝典Word下载.docx_第4页
第4页 / 共10页
数据结构案例宝典Word下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数据结构案例宝典Word下载.docx

《数据结构案例宝典Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构案例宝典Word下载.docx(10页珍藏版)》请在冰豆网上搜索。

数据结构案例宝典Word下载.docx

第四章:

同学录

随着社会发展,时代的前进,人与人的交往越来越密切,通讯成为当代社会发展必不可少的一大服务业,目前在我国较为有影响力的通讯产业有中国移动、中国联通、中国电信等,它们的产生给人们生活、交往带来极大的便利,通讯录由此而生,方便了同学、亲戚朋友的交往。

说到通讯录,从字面意思来看,即通讯的记录,方便人们的交往,在我看来,通讯录的主要意义也就在于有助于人与人之间的通讯,便捷地找到自己想找到的人,其实通讯录无处不在,根据需要设计本程序。

一个简单的通讯录系统应具有以下功能:

1、通讯录成员的输入(输入通讯录成员的个数由用户自己决定,当在“请输入姓名”后面输入为空时,结束输入)

2、通讯录成员的删除(输入要删除成员的姓名,当此成员存在通讯录中,即可删除此成员,若是输入的姓名未能找到,系统会提示“没有此人信息”。

3、浏览通讯录(显示通讯录中所有成员的信息,成员的信息有姓名、地址、邮编、电话、QQ。

4、查找通讯录中某些成员(输入要查找成员的姓名,显示要查找成员的所有信息。

5、对通讯录中的所有信息的保存(将通讯录中的所有信息保存在mylist文件中,方便用户的操作。

6、对通讯录某些成员进行修改(输入需要修改成员的姓名,输入其正确的信息。

7、系统清屏(当屏幕内容过多时,清屏。

8、退出通讯录(完成通讯录的所有操作,退出系统。

9、数据结构如此定义:

姓名、性别、地址由字符组成,最大字符数分别为

10个,2个和16个;

邮编、电话、QQ由数字字符组成,最在字符数分别为6个,11个和9个;

当输入的输的字符超过上面所规定的最大字符数时,系统会提示“输入字符太长,请重新输入”。

熟悉链表的使用

第五章:

哈希表的设计与实现

设计哈希表实现电话号码查询系统。

基本要求:

1、设每个记录有下列数据项:

电话号码、用户名、地址;

2、从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表;

3、采用再哈希法解决冲突;

4、查找并显示给定电话号码的记录;

5、查找并显示给定用户名的记录。

利用哈希表实现电话号码的查询,利用数据链实现对电话记录的增加和删除

第六章:

八皇后

求出在一个n×

n的棋盘上,放置n个不能互相捕捉的国际象棋“皇后”的所有布局。

算法的使用

第七章:

Josephu问题

Josephu问题为:

设编号为1,2,…n的n个人围坐一圈,约定编号为k(1<

=k<

=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。

提示:

用一个不带头结点的循环链表来处理Josephu问题:

先构成一个有n个结点的单循环链表,然后由k结点起从1开始计数,计到m时,对应结点从链表中删除,然后再从被删除结点的下一个结点又从1开始计数,直到最后一个结点从链表中删除算法结束。

选择单项链表作为存储结构模拟整个过程,并依次输出出列的个人编号。

第八章:

n阶魔阵问题

给定一奇数n,构造一个n阶魔阵。

n阶魔阵是一个n阶方阵,其元素自由然数1,2,3,…,n*n组成。

魔阵的每行元素之和,每列元素之和以及主,副对角线之和均相等。

既对于给定的奇数n以及i=1,2,3……,n。

魔阵a满足以上条件。

依次将自然数填入方阵中,共填n轮,每轮填n次。

第一轮的第一次,将1填入方阵的中间一行的最后一列位置。

设前一次填入的位置是aij。

(1)每轮中第2至第n次将数填入ai+1,j+1,若遇到下列情况之一,则填写位置按以下规则调整:

<

1>

.aij是最后一列(即j=n)位置,则将下一个数填入ai+1,1;

2>

.aij是最后一行(即i=n)位置,则将下一个数填入a1,j+1;

(2)新一轮的第一次填入ai,j-1。

数组的使用

第九章:

停车场管理问题

设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。

车辆按到达停车时间的早晚依次从停车场最里面向大门口停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。

停车场内如有某辆车要开走,在它之后近来的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。

每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。

如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。

编制一程序模拟停车场管理。

栈和队列的使用

第十章:

飞机订票系统

通过此系统可以实现如下功能:

  录入:

  可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

  查询:

  可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

  可以输入起飞抵达城市,查询飞机航班情况;

  订票:

(订票情况可以存在一个数据文件中,结构自己设定)

  可以订票,如果该航班已经无票,可以提供相关可选择航班;

  退票:

可退票,退票后修改相关数据文件;

  客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

  修改航班信息:

  当航班信息改变可以修改航班数据文件

链表、队列的使用

第十一章:

全国交通咨询模拟

(1)在程序中输入城市名称时,需输入10个字母以内的字母串;

输入列车或飞机编号时需输入一个整型数据;

输入列车或飞机的费用时需输入一个实型数据;

输入列车或飞机开始时间和到达时间时均需输入两个整型数据(以hh:

mm的形式);

在选择功能时,应输入与所选功能对应的一个整型数据。

(2)程序的输出信息主要是:

最快需要多少时间才能到达,或最少需要多少旅费才能到达,或最少需要多少次中转到达,并详细说明依次于何时乘坐哪一趟列车或哪一次班机到何地。

图、队列、算法的使用

第十二章:

电梯模拟系统

模拟某校九层教学楼的电梯系统。

该楼有一个自动电梯,能在每层停留。

九个楼层由下至上依次称为地下一层、第一层、第二层、……第八层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。

乘客可随时地进出于任何层。

对于每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。

模拟时钟从0开始,时间单位为0.1秒。

人和电梯的各种动作均要消耗一定的时间单位(简记为t),比如:

有人进出时,电梯每隔40t检测一次,若无人进出,则关门;

关门和开门各需要20t;

每个人进出电梯均需要25t;

如果电梯在某层精致时间超过300t,则驶回1层候命。

单链表的使用

第十三章:

学生成绩管理系统

要求是这样的

1、用c语言编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。

2、具体要求:

建立一个4个学生的信息登记表,每个学生的信息包括:

学号,姓名,和3门课程的成绩(FOX,C,ENGLISH)。

程序运行时显示一个简单的菜单,例如:

(1):

信息输入(INPUT)

(2):

总分统计(COUNT)

(3):

总分排序(SORT)

(4):

查询(QUERY)

其中:

对4个学生的信息进行输入;

对每个学生的3门课程统计总分;

对4个学生的总分按降序排序并显示出来;

查询输入一个学号后,显示出该学生的有关信息;

............

双链表的使用

第十四章:

最小生成树

在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。

存储结构采用多种。

求解算法多种。

树的使用

第十五章:

二叉排序树的实现

用顺序和二叉链表作存储结构

1)以回车('

\n'

)为输入结束标志,输入数列L,生成一棵二叉排序树T;

2)对二叉排序树T作中序遍历,输出结果;

3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);

否则输出信息“无x”;

第十六章:

学生搭配问题

一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴.

请设计一系统模拟动态地显示出上述过程,要求如下:

1)输出每曲配对情况

2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值.

3)尽量设计出多种算法及程序,可视情况适当加分

提示:

用队列来解决比较方便.

队列的使用

第十七章:

排序综合

利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

要求:

1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。

并把排序后的结果保存在不同的文件中。

2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。

3)如果采用4种或4种以上的方法者,可适当加分。

第十八章:

二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。

遍历的内容应是千姿百态的。

五、树与二叉树的转换的实现。

以及树的前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。

第十九章:

第二十章:

第二十一章:

第二十二章:

第二十三章:

第二十四章:

第二十五章:

第二十六章:

第二十七章:

第二十八章:

第二十九章:

第三十章:

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

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1