版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构与算法课程设计任务书一、设计的目的数据结构课程设计是在学完数据结构课程之后的实践教学环节。该 实践教学是软件设计的综合训练, 包括问题分析,总体结构设计,用户界 面设计,程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计 能力,培养科学的软件工作方法。学生通过数据结构课程设计在下述各方 面得到锻炼:1、能根据实际问题的具体情况,结合数据结构课程中的基本理论和基 本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。2、提高程序设计和调试能力.学生通过上机实习,验证自己设计的算 法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并 且
2、修改。3、培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度, 进一步提高程序设计水平。二、设计的要求、注意事项和进程1、要求:每人选作附录中的一个题目(特别说明:如不想选作指定题目的 可以向老师提出,学生自行选择,但是在难度和工作量上必须足 够题目选择自行分配,分组后由班长统一填表发给教师,不 再变动,使用C或C+实现,不允许使用其他代码,每个题目必须给出清晰的数据结构,给出详细的对应的基本操作 代码,应该有较好的输入输出界面,教师只提出基本功能和要求,学生 应该对其进行完善和丰富。学生必须设计出易于理解的输入输出 界面,学生应该准备多组测试数据(不能仅仅只有一组),而且测试数据允许随
3、时变动。每个学生都需要上交一份课程设计报告,该报告的格式参照模板,使用纸张A4 ,统一为左侧装订。源程序和报告的电子版,由班级统一刻制光盘,光盘中每个学生 一个文件夹,文件夹命名规则如下,学生学号 学生姓名 所选课 程设计题目名称,该文件夹内包括两项内容,一个是该学生的课 程设计报告电子版,报告的电子版使用 word文档,另一个是该 学生的课程设计源代码,源代码不压缩存入一个文件夹内。 光盘 刻制完毕后,光盘上用记号笔书写,班级名称,人数,对应课程 名称。2、注意事项:1)充分理解题目,给定主要算法及其应用组合;2)各种文档资料要在程序开发过程中逐渐形成;3)采用统一课程设计报告模板;4)每位
4、同学报告及代码内容不允许重复、雷同。3、进程:1)查阅资料、逻辑设计(3月5日3月18日)2)程序设计及调试(3月19日3月25日)3)撰写报告及答辩(3月26日一3月30日)三、报告内容及要求实习报告包括以下七个内容:.需求分析描述要求编程解决的问题。以无歧义的陈述说明程序 设计的任务,强调的是程序要做什么?明确规定:(a)输入的形式和输入值的范围;(b)输出的形式;(c)程序所能达到的功能;(d)测试数据:包括正确的输入及其输出结果和含有错误的输入及其 输出结果。.概要设计 给出程序要达到的具体的要求。描述解决相应问题算 法的设计思想。描述所设计程序的各个模块(即函数)功能。说明本程序 中
5、用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的 层次(调用)关系。.详细设计 实现概要设计中定义的所有数据类型,对每个操作只 需要写出流程或伪码算法;对主程序和其他模块也都需要写出流程或伪码 算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘 直接输入高级程序设计语言程序);画出函数的调用关系图。给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数 据类型。设计出良好的输入输出界面(清晰易懂)。4,调试分析内容包括:(a)调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨 论和分所;(b)算法的时空分析(包括基本操作和其他算法的时间复
6、杂度和空间复 杂度的分析)和改进设想;(c)经验和体会等。.用户使用说明 说明如何使用你编写的程序,详细列出每一步的 操作步骤。.测试结果 设计测试数据,或具体给出测试数据。要求测试数据 能全面地测试所设计程序的功能。列出你的测试结果,包括输入和输出。 这里的测试数据应该完整和严格,最好多于需求分析中所列。.测试情况:给出程序的测试情况,并分析运行结果附录(非必须,按照需要添加)带注释的源程序。可以只列出程序文件名的清单。四、成绩评定考核采用五级评分制(优秀、良好、中等、及格、不及格)。主要依 据是选择题目的难易程度、解决问题的思路和方法、程序运行情况、程序 的结构合理与否、算法说明的清晰程度
7、、报告的规范程度、总结的深刻程 度以及选做情况和独立完成情况。附录:可选题目飞机订票系统(限1人完成)任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、 具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起 飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息
8、改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计 程序完成功能;宿舍管理查询软件(限1人完成)任务:为宿舍管理人员编写一个宿舍管理查询软件,程序设计 要求:采用交互工作方式建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)查询菜单:(用二分查找实现以下操作)按姓名查询按学号查询按房号查询3.校园导航问题(限1人完成)设计要求:设计你的学校的平面图,至少包括 10个以上的场所,每 两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另 一场所的最佳路径(最短路径).图书借阅管理系统(限1人完成)主要分为两大
9、功能:图书管理(增加图书、查询图书、删除图书、图书借阅、还书);会员管理(增加会员、查询会员、删除会员、借书信息);学生成绩管理(限1人完成)实现功能:输入、输出、插入、删除、查找、追加、读入、显示、 保存、拷贝、排序、索引、分类合计、退出。活期储蓄帐目管理(限1人完成)活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统 设计要求:能比较迅速地找到储户的帐户,以实现存款、取款记账;能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。通讯录的制作(限1人完成)设计目的:用数据结构中的双向链表作数据结构,编写一个 通讯录管理系统。以把所学数据结构知识应用到实际软件开发中去。设计内容:本
10、系统应完成一下几方面的功能:输入信息enter();显示信息 display();查找以姓名作为关键字search();删除信息delete();在盘save ();装入load();设计要求:每条信息至包含:姓名(NAME )街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项作为一个完整的系统,应具有友好的界面和较强的容错能力哈夫曼编码/译码器(限1人完成)【问题描述】设计一个利用哈夫曼算法的编码和译码系统, 重复地显 示并处理以下项目,直到选择退出为止。【基本要求】将权值数据存放在数据文件(文件名为data.txt ,位于执行程序的当前目录中)初始化:键盘输入字符集大
11、小 n、n个字符和n个权值,建立 哈夫曼树;编码:利用建好的哈夫曼树生成哈夫曼编码;输出编码;设字符集及频度如下表:字符空格 A B C D E F G H I J K L M频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20字符 NOPQ RST UVWXYZ频度 57 63 15 1 48 51 80 23 8 18 1 16 1电话号码查找系统(限1人完成)【问题描述】利用散列表的设计与实现电话号码查找系统。【基本要求】设每个记录有下列数据项:电话号码、用户名、地址;从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;采用一定的方法解决冲突;
12、查找并显示给定电话号码的记录;查找并显示给定用户名的记录。学生成绩管理系统(限1人完成)现有学生成绩信息文件1 (1.txt),内容如下姓名学号语文数学英语张明明01677882李成友02789188张辉灿03688256王露04564577除尔明05673847.学生成2.费信息.文件2 (2.tx:t),内容如下姓名学号语文数学英语陈果31576882李华明32889068张明东33484256李明国34504587除追凫35475877试编写一管理系统,要求如下:实现对两个文件数据进行合并,生成新文件3.txt抽取出三科成绩中有补考的学生并保存在一个新文件4.txt对合并后的文件3.tx
13、t中的数据按总分降序排序(至少采用两种排序方法实现)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)要求使用结构体,链或数组等实现上述要求.图的遍历和生成树求解实现(限 1人完成)要求:先任意创建一个图;图的DFS,BFS的递归和非递归算法的实现最小生成树(两个算法)的实现,求连通分量的实现要求用邻接矩阵、邻接表结构存储实现排序综合(限1人完成)利用随机函数产生N个随机整数(20000以上),对这些数进行 多种方法进行排序。要求:至少采用五种方法实现上述问题求解 (提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排 序)0并把排序
14、后的结果保存在不同的文件中。统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。josephs 环 (限1人完成)任务:编号是1, 2,n的n个人按照顺时针方向围坐一圈,每 个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。 报m的人出列,将他的密码作为新的 m值,从他在顺时针方向的下一个 人开始重新从1报数,如此下去,直到所有人全部出列为止。设计一个 程序来求出出列顺序。要求:利用单向循环链表存储结构模拟此过程, 按照出列的顺序输出 各个人的编号。测试数据:m的初值为20,
15、n=7 ,7个人的密码依次为3, 1, 7, 2, 4, 7, 4,首先m=6,则正确的输出是什么?要求:输入数据:建立输入处理输入数据,输入 m的初值,n ,输 入每个人的密码,建立单循环链表。输出形式:建立一个输出函数,将正确的输出序列HUFFMAN 树及编码(限1人完成)随机输入一篇英文文章(或读一个 TXT文件),生成并显示HUFFMAN树,输出每个字母的 HUFFMAN编码,判断ASCII编码与HUFFMAN编码对本篇报文长度节省效果。拓扑排序(限1人完成)问题描述建立图的存储结构,能够输入图的顶点和边的信息,并 存储到相应存储结构中,再编写函数实现图的拓扑排序。基本要求选择邻接表作
16、为有向图的存储结构模拟整个过程,并输 出拓卜排序的顶点序列。测试数据利用下图中的数据调试程序简单的职工管理系统(限1人完成).问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。.要求职工对象包括姓名、性别、出生年月、工作年月、学历、职务、 住址、电话等信息。(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文 件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。3.实现提示职工对象数不必很多,便于一次读入内存,所有操
17、作不经过内外 存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件 读入内存。(2)对职工对象中的姓名按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改等操作。.哈希表设计(限1人完成)问题描述:针对自己的班集体中的 人名”设计一个哈希表,使得平 均查找长度不超过R,完成相应的建表和查表程序。基本要求:假设人名为中国姓名的汉语拼音形式。待填入哈希表的 人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构 照,用链表法处理冲突。测试数据:读取熟悉的30个人的姓名。.学生信息管理(限1人完成)要求每条学生信息至包含学号(xh)、姓名(xm)、性别(xb)
18、、年龄(nl)、 专业(zy)等,完成如下功能:(1)输入学生基本信息记录enter()(2)增加一名学生记录(可和功能1合并)一一insert()(3)删除指定(按姓名)学生的信息 一一delete()(4)修改指定(按姓名)学生的信息)一一modify()(5)查询符合条件的学生(按专业)一一search()(6)显示学生管理库中的信息 一一display。.计算一元稀疏多项式(限1人完成)要求完成如下功能:输入并建立多项式creatpolyn()输出多项式,输出形式为整数序列,序列按指数升序排列一一 printpolyn()多项式a和b相加,建立多项式a+b,输出相加的多项式一一 add
19、polyn()多项式a和b相减,建立多项式a-b,输出相减的多项式一一 subpolyn()用带表头结点的单链表存储多项式。测试数据:(2x+5x8-3.1x11)+(7-5x8+11x9)(6-3x+4.4x2-1.2x9)-(-6-3x+5.4x2+7.8x15)(x+x2+x3)+0(4 ) (x+x3)-(-x-x-3).通讯录的制作(限1人完成)要求每条信息至包含姓名(name )城市(dty)电话(tel) QQ号 (qq),完成如下功能:输入信息enter();显示信息-display();查找以姓名作为关键字 一一search();删除信息delete();(5)存盘(将数据保
20、存在文件中,此功能选做)save ();.运动会分数统计(1人完成)任务:参加运动会有n个学校,学校编号为1n。比赛分成 m个男子项目,和w个女子项目。项目编号为男子1m ,女子m+1m+w o不同的项目取前五名或前三名积分;取前五名的积分分 别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名 或前三名由学生自己设定。(m=20,n=20 )功能要求:可以输入各个项目的前三名或前五名的成绩;能统计各学校总分,可以按学校编号或名称、学校总分、男女团体总分排序输出;可以按学校编号查询学校某个项目的情况; 可以按项目编号查询取得前三或前五名的学校。数据存入文件并能随时查询规定:输
21、入数据形式和范围:可以输入学校的名称,运动项目 的名称输出形式:有中文提示,各学校分数为整形界面要求:有合理的提示,每个功能可以设立菜单,根据提示, 可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计, 但是要求运动 会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内 容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你 用到的存储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部 非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在 上交的资料中写明;.最小生成树问题(限1人完成)问题描述: 在n个城市之间建设网络,只需
22、保证连通即可,求最经 济的架设方法。对于图,其生成树中的边也带权,将生成树各边的权值总和称为生成树的权,并将权值最小的生成树称为最小生成树,简称为 MST。有两种非常典型的算法:Prim算法和kruskal算法。任务要求:设计程序完成如下功能:对给定的网和起点,用PRIM算 法和kruskal算法的基本思想求解出所有的最小生成树。存储结构可自行 选择。测试数据:自行设定,注意边界等特殊情况。要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.敢死队问题(限1人完成)有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮 回数数的办法来决定哪个战士去执行任务。如果
23、前一个战士没完成任务, 则要再派一个战士上去。现给每个战士编一个号,大家围坐成一圈,随便 从某一个战士开始计数,当数到 5时,对应的战士就去执行任务,且此 战士不再参加下一轮计数。如果此战士没完成任务,再从下一个战士开始 数数,被数到第5时,此战士接着去执行任务。以此类推,直到任务完 成为止。排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第 几号战士开始计数才能让排长最后一个留下来而不去执行任务。要求:至少采用两种不同的数据结构的方法实现。.最短路径实现图的输入,选择合适的结构表示图,在此基础上实现求解最短路 径的算法,可以从任意一点求最短路径,学生必须准备多组测试数据,并 设计清晰
24、易懂的输入输出界面,要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.图的基本操作与实现(限1人完成)(1)自选存储结构,输入含n个顶点(用字符表示顶点)和e条边的图G;(2)求每个顶点的度,输出结果;(3)指定任意顶点x为初始顶点,对图G作DFS遍历,输出DFS顶点序列 (提示:使用一个栈实现DFS);(4)指定任意顶点x为初始顶点,对图G作BFS遍历,输出BFS顶点序列(提 示:使用一个队列实现BFS);(5)输入顶点x,查找图G:若存在含x的顶点,则删除该结点及与之相关连的边,并作DFS遍历(执行操作3);否则输出信息“无x”;(6)判断图G是否是连通图,输
25、出信息“ YES” / “NO” ;.长的整数加法问题描述:设计一个程序实现两个任意长的整数的求和运算。基本要求:利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如: 1,0000, 0000, 0000, 0000。.学生搭配问题。一班有m个女生,有n个男生(m不等于n),现要开一个舞会。男女 生分别编号坐在舞池的两边的椅子上。 每曲开始时,依次从男生和女生中 各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程,要求如下:(1)输出每曲配对情况;(2)计算出任何一个男生(编号为X)和任意女生
26、(编号为Y),在 第K曲配对跳舞的情况.至少求出K的两个值;(3)尽量设计出多种算法及程序。要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.车厢调度问题描述:假设停在铁路调度站入口处白车厢序列的编号一次为 1, 2, 3, n。设计一个程序,求出所有可能由此输出的长度为n的车厢序列。 29串的查找和替换问题描述:打开一篇英文文章,在该文章中找出所有给定的单词, 然后 对所有给定的单词替换为另外一个单词,再存盘。.构造可以使n个城市连接的最小生成树问题描述:给定一个地区的n个城市间的距离网,用Prim算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树
27、的代价。基本要求:1、城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用 课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为 自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些 城市间的道路,并显示得到的最小生成树的代价。2、表示城市间距离网的邻接矩阵(要求至少 6个城市,10条边)3、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。.设计哈希表实现电话号码查询系统。基本要求:1、设每个记录有下列数据项:电话号码、用户名、地址;2、从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表;3、采用再哈希法解决冲突;4、查找并显示给定电话号码的记
28、录;5、查找并显示给定用户名的记录。6、在哈希函数确定的前提下,尝试各种不同类型处理冲突的方法(至 少两种),考察平均查找长度的变化。.括号匹配问题从预先存储的文件中读出多个表达式, 每一个表达式有英文字母(小 写)、运算符和左右大()()中小三种括号构成,请编写一个程序检查每个 表达式中的左右括号是否匹配,若匹配,则返回“YES”;否则返回“NO”, 同时显示出括号不匹配的大致位置。 表达式长度小于500,括号不少于20 个。要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.迷宫问题求解迷宫问题,迷宫大小,不小于10乘以10,迷宫的存储方式应该 容易修改,迷宫只
29、有一个入口,可以有一个或多个出口,按上下左右四方 向行走,或八方向行走,求解可以同行的路径,要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.模拟售票大厅考虑去银行办业务:一般来说,服务窗口越多,队走的越快,银行经 理希望顾客满意,但又不希望雇佣过多的员工。我们模拟的服务窗口有如下假设:a.只排一队,并且先到的人先得到服务b.平均每隔15秒就会来一位顾客c.如果有空闲的窗口,在顾客抵达之时就会马上处理d.从顾客来到窗口到处理完顾客请求,这个平均需要 120秒以下就来模拟高峰期银行开多少个窗口最为合适:(利用平均等待时问)给出详细的结果对比分析,最好有中间的过程演示
30、,要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.文件的压缩和恢复功能,从文本文件中读入原始数据,该原始数据只包含英文字母,对原始数 据进行分析后,想办法对其进行压缩,压缩后,保存到新的文件之内,并 提供压缩前后的占用空间之比。要求:(a)原始文件和新产生的文件,利用文本文件来模仿二进制文件。(b)运行时的压缩原文件的规模应不小于 1K。(c)提供恢复文件与原文件的相同性对比功能。(d)提供详细的对比界面,并且有详细的中间过程演示,要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.集合运算常用集合运算符号名称:和集&符号解释:两个或
31、两个以上的集合的所有元素组成一个新的集合 称为和集使用示例:双目运算符(1,2,3)&(1,3,4)=1 2 3 1 3 4符号名称:并集+符号解释:两个或两个以上集合并在一起并去除其中重复元素的 集合,称为并集使用示例:双目运算符(1,2,3,5,9)+(1,3,4)=1 2 3 5 9 4符号名称:差集-符号解释:第一个集合减去第二个集合所包含的元素,称为差集使用示例:.双目运算符(1,2,3,5,9)-(1,3,4)=2 5 9.单目运算符(去除数集中重复的元素)(1,2,3,1,4,2,5)-=1 2 3 4 5符号名称:交集*符号解释:两个集合中都含有的元素使用示例:(1,2,3)*
32、(1,3,4)=1 3符号名称:补集/符号解释:两个集中非共同元素组成的集合(也叫反交集)使用示例:(1,2,3)/(1,3,4)=2 4符号名称:逆集符号解释:第二个集合减去第一个集合所包含的元素,称为逆集(也叫反差集)使用示例:(1,2,3)(1,3,4)=4符号名称:平集!符号解释:两个集合的和集中,只出现一次的元素组成的集合称 为平集使用示例:(1,2,3,2,5,6,2,1,4,3,2)!(4,5,9,2,3,5,1,7)=6 9 7要求:允许三个集合,同时参与计算,如何用多种数据结构来求解问 题。同时要求实现对应数据结构的所有基本操作。.特殊矩阵运算对特殊矩阵能够保存到文件之内,而
33、且可以从文件读取,在界面上, 以人们熟悉的方式显示,可以对特殊矩阵进行加法运算和减法运算, 矩阵 转置,要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.模拟计算器的程序(仿照win7计算器)要求能对包含加、减、乘、除、括号运算符及 n次方和ABS函数等 函数的任意整型表达式进行求解。要求:要检查有关运算的条件,并对错误的条件产生报警。要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.查找算法比较问题描述:设计一个实现顺序查找、二分查找(折半查找)、二叉排序树、平衡 二叉树、哈希查找算法的程序,并具有人机交互界面。基本要求:(1)设计
34、一个菜单将实现的查找算法的名字显示出来,并提示用户对查找算法进行选择;(2)分别实现顺序查找、二分查找(折半查找)、二叉排序树、哈希 查找;(3)哈希函数采用除留余数发,解决冲突的方法大家任选择一种;(4)二叉排序树必须实现构建、查找、插入、删除四个基本操作;(5)输出各种排序的结果并进行比较。要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.文章编辑功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静 态存储一页文章,每行最多不超过 80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,
35、并输出该次数;(3)删除某一子用,并将后面的字符前移。(4)查找,替换(等长,不等长),插入(插用,文本块的插入)、 块移动(行块,列块移动),删除;(5)可正确存盘、取盘;(6)正确显示总行数。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全 部字母数、数字个数、空格个数、”文章总字数”(3)输出删除某一 字符串后的文章;要求:如何用多种数据结构来求解问题。同时要求实现对应数据结构 的所有基本操作。.药店的药品销售统计系统(排序应用)【问题描述】 设计一系
36、统,实现医药公司定期对销售各药品的记录 进行统计,可按药品的编号、单价、销售量或销售额做出排名。【实现提示】在本设计中,首先从数据文件中读出各药品的信息记录,存储在 顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、 销售额。药品编号共4位,采用字母和数4字混合编号,如:A125,前一位为大写字母,后三位为数字, 按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或 销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、 快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排 序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。.停车场管理问题描述设停车场内只有一个可停放n辆汽车的狭长通道,且只 有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序, 依次由北向南排列(大门在最南端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度4S店代驾服务与客户车辆保险理赔协助合同3篇
- 2024版物资采购全权委托协议版B版
- 2024年二级造价师考试题库(考试直接用)
- 2024年钢材企业质量管理体系认证与咨询合同
- 2024药品采购与药品市场监管合作框架协议3篇
- 2024年初中数学1对1教案模板(共8篇)
- 2025年度变形缝新型材料研发与产业化合同2篇
- 《关于学习侵权责任》课件
- 动物学2(山东联盟)知到智慧树章节测试课后答案2024年秋山东师范大学
- 2025年度厨师行业劳动合同补充条款范本3篇
- IUE(胚胎电转)课件
- 大气污染与人体健康课件
- 企业信息公示联络员备案申请表
- 学校体育学重点、知识点
- 人因失误及防人因失误工具课件
- (完整版)《安全标志及其使用导则规范》
- 挑战杯生命科学获奖作品范例
- 微信如何进行视频聊天
- T∕CNFMA B003-2018 林火防扑机械 以汽油机为动力的便携式化学泡沫灭火机
- 全贴合OCA工艺简介
- 部编版八上语文古代诗歌鉴赏对比阅读(含答案)
评论
0/150
提交评论