数据结构课程设计软件实习2任务及要求江科大张家港校区

合集下载

《数据结构》课程设计任务书

《数据结构》课程设计任务书

算法与数据结构课程设计任务书课程编号:2409080S 课程性质:专业实践课学时/学分:1周/1. 适用专业:计算机科学与技术(交通信息工程)教材:《数据结构》C语言版,严蔚敏、吴伟民编著,清华大学出版社课程设计目的:1.训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题的能力。

2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.培养学生在分析问题和解决问题过程严谨的科学态度和良好的工作作风课程设计要求:1.18周周1至周5完成选题、问题分析、算法设计、程序编写、程序测试和程序验收。

2.按照课设格式提交课程设计报告(7月10日)。

3.分数=80%程序+20%报告课程设计题目课程设计题一:学生成绩管理系统设计目的:1.掌握线性链表的建立。

2.掌握线性链表的基本操作。

3.加深对线性链表及其基本操作的理解。

利用线性链表实现学生成绩管理系统。

具体功能:输入、输出、插入、删除、查找、追加、显示、分类合计,并能在屏幕上输出操作前后的结果。

设计要求:1.初始化线性链表。

可以通过键盘输入,进行学生信息的录入。

并根据命令,进行插入、删除、追加、遍历、分类合计等操作。

2.输出操作前后的结果。

3.如果有时间,可以添加保存功能。

即将链表中的学生记录保存到一个文本文件中。

课程设计题二:停车场管理系统设计目的:1.掌握栈和队列的建立。

2.掌握栈和队列的基本操作。

3.深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们。

4.加深对栈和队列的理解和认识。

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

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

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

【报告】江科大实习报告

【报告】江科大实习报告

【关键字】报告江科大实习报告篇一:江科大认识实习报告江苏科技大学(张家港校区)认识实习报告专班学姓业:级:号:名:指导教师:实习时间:年月日认识实习报告一、实习目的大多数人对本专业的认识有限,尤其是很多的人对这个专业的理解还比较抽象,不能很好的感受到这个专业的用途和魅力,尤其在理论联系实际这一环节,对很多人来说是一个缺陷和弱势。

因此,在大二开学初学院曾为我们组织了一个星期的认识实习,但这对于对设计思想和实际操作能力要求很高的机械自动化专业来说,是远远不够的,再加上由于当时所学知识还不多,尤其涉及本专业知识不多,所以这次的实习就显得尤为重要了。

为了加深同学们对自动化专业的理解和认识,对自动化设备及器材比较直观而感性的认知,理论联系实际;为了培养我们的设计思想和动手能力,对自动化设计及运行有宏观的把握,整体提高我的综合设计,局部掌控的能力;本次认识实习以认识钢铁的冶炼过程,钢板的轧制方法,板材冲压及成型加工,工业洗衣机的组成,弯管机的工作原理,电液控制系统相互协调的关键,体育器材制造,注塑机,管材成型机,冲压设备等工作原理及结构组成,电器开关柜的结构组成和其功能原理,客车的结构组成,底盘的作用与组成,客车的检测方法,压铸技术以及成型的工作原理为总目的。

二、实习安排依次参观苏州杰泰龙精密压铸工业有限公司,金陵体育,金鸿顺公司,沙钢集团,张家港市合丰机械制造有限公司,张家港市长力机械有限公司,张家港海狮洗涤机械有限公司,友谊客车制造有限公司,苏州同大机械有限公司等张家港当地的厂矿企业,期间观看机械制造相关视频。

三、实习要求要注意安全,女同学要戴工作帽,不可穿裙子,男同学不可以穿短裤,要穿硬底鞋,在工厂不得打闹嬉戏,服从带队教师的统一指挥。

四、实习主要过程及典型实习案例认识与分析因为学校认识实习的课程安排,我平生第一次走进了各种各样的厂矿企业。

在为期一个星期的认识实习期间,接触了锯、锉、焊、钻、车、铣、刨等多个工种,还简单地了解数控机床加工技术以及钢铁冶炼和加工工艺。

数据结构课程设计任务书报告

数据结构课程设计任务书报告

一、设计目的《数据结构》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。

二、设计要求1、通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

2、学生必须仔细研读《数据结构》课程设计(实习)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。

3、本次课程设计按照教学要求需要在一周半时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时地向指导教师汇报。

4、编程语言任选。

三、设计题目及内容文章编辑一、需求分析功能:输入一页文字,程序可以统计出文字、数字、空格的个数。

静态存储一页文章,每行最多不超过80个字符,共N行;要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。

存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;二、概要设计1、定义结构体struct line,文本行采用顺序存储,行与行之间采用链式存储开始主函数输入文字统计个数查找某一子串输出文字统计字母、数字、空删除这一子串格、某一字符串的个数以及文章总字数输出删除后的文章具体操作三、主要函数:int FindString(LINE * &head,char *str) /*统计str在文章中出现的次数*/ 求在一行中Str出现的次数的流程图:①.查找第一个字符,如果有第一个字符即p->data[i]==str[0],设计数器k=0 ②.查找这个字符后面的字符与要查找的字符串是否匹配即p->data[i+j]==str[j],如果匹配k++③.重复第二步,如果k=len2,则查找到,count++;如果没查找到,重新进行第一步void delstringword(char *s,char *str) /*删除字符串*s 中的字符串*str*/开始车离开p->data[i]==str[0]i++k=0;j=0;p->data[i+j]==str[j]k++;j++;k=len2count++; i=i+k-1;结束YNYNNY实现思想:①.从字符串s 中寻找str 第一次出现的位置 *p=strstr(s,str);②.len=strlen(s);i=len-strlen(p)即前i 项恰好不含要删除的字符串,将前i 项复制到tmp 中③.j=i+strlen(str) 即要删除的字符串在i+1和j 之间,将j 之后的字符串复制到tmp 中④.将tmp 赋给串s ,返回s四、调试分析和问题思考:1. 测试数据及结果str pi jsfor(m=0;m<i;m++) tmp[count++]=s[m];for(n=j;n<len;n++) tmp[count++]=s[n];tmp2、问题思考:输入文章时,计算机怎样识别文章是否结束?输出文章时,怎样处理表示结束的字符?解决方案:输入文章时,以Ctrl+E(^E)为结尾,当tmp[0]==5时,发现输入^E,则退出输入。

数据结构的实习报告

数据结构的实习报告

一、实习背景数据结构是计算机科学中的基础课程,对于学习计算机编程、算法设计等方面具有重要意义。

为了更好地掌握数据结构知识,提高自己的编程能力,我参加了为期一个月的数据结构实习。

二、实习目标1. 掌握数据结构的基本概念和常用算法;2. 能够运用所学知识解决实际问题;3. 提高编程能力和团队协作能力。

三、实习内容1. 需求分析本次实习主要实现以下功能:(1)实现线性表、栈、队列、链表、树、图等基本数据结构;(2)实现查找和排序算法,如顺序查找、折半查找、快速排序、归并排序等;(3)设计并实现一个简单的学生管理系统,用于存储和管理学生的基本信息。

2. 设计说明(1)数据结构设计本次实习主要使用C语言实现数据结构,具体包括:- 线性表:使用数组实现静态线性表,使用链表实现动态线性表;- 栈和队列:使用数组实现栈和队列;- 树:使用链表实现二叉树;- 图:使用邻接矩阵和邻接表实现图。

(2)算法设计本次实习主要实现以下算法:- 查找算法:顺序查找、折半查找;- 排序算法:快速排序、归并排序;- 学生管理系统:使用链表实现学生信息存储,通过查找算法实现按学号或姓名查找学生信息。

(3)模块设计本次实习将整个程序划分为以下模块:- 数据结构模块:实现各种数据结构的基本操作;- 查找算法模块:实现查找算法;- 排序算法模块:实现排序算法;- 学生管理系统模块:实现学生管理系统的功能。

3. 上机结果及体会(1)合作人编码分工在本次实习中,我与同学合作完成编程任务。

我负责数据结构模块和查找算法模块的设计与实现,同学负责排序算法模块和学生管理系统模块的设计与实现。

(2)实际完成情况本次实习成功实现了以下功能:- 实现了线性表、栈、队列、链表、树、图等基本数据结构;- 实现了顺序查找、折半查找、快速排序、归并排序等查找和排序算法;- 设计并实现了一个简单的学生管理系统,能够存储和管理学生的基本信息。

(3)程序性能分析本次实习程序的性能分析如下:- 数据结构模块:使用链表实现数据结构,具有良好的动态性,空间复杂度较低;- 查找算法模块:顺序查找和折半查找算法的时间复杂度分别为O(n)和O(logn),适用于不同场景;- 排序算法模块:快速排序和归并排序算法的时间复杂度均为O(nlogn),适用于大数据量排序;- 学生管理系统模块:使用链表实现学生信息存储,查询效率较高。

《数据结构(Java)》课程设计方案任务书

《数据结构(Java)》课程设计方案任务书
采用邻接多重表表示存储无向图,实现插入、删除、遍历操作算法。
采用邻接多重表表示存储有向图,实现插入、删除、遍历操作算法。
在一个字符串中统计各字符的出现次数,分别采用顺序表和散列表存储,分析查找效率。
从指定文本文件中统计出各单词及其出现次数,分别采用顺序表和散列表存储,分析查找效率。
生成一个具有n个整数的互异随机数序列,范围是-size~size。怎样实现互异?有哪些存储结构可以存储随机数序列?分析它们的特点、功能和查找效率,有哪些提高查找效率的措施?
采用排序顺序表存储电话簿数据元素,按姓氏排序,实现查找、增加和删除元素操作,分析各算法效率。
采用排序循环双链表存储电话簿数据元素,按姓氏排序,实现查找、增加和删除元素操作,分析各算法效率。
采用索引单链表<类似图的邻接表)存储电话簿数据元素,按姓氏建立索引表,每个索引项指向一条同姓的单链表,采用分块查找技术,支持增加和删除元素操作,分析各算法效率。索引表可按姓氏排序。
采用二叉链表表示二叉树,返回两结点最近的共同祖先结点,判断是否子树。
声明静态三叉链表表示的二叉树类,实现第6章二叉树的基本操作,以及求最近祖先结点、求直径、以广义表构造并输出二叉树、判断是否为完全二叉树等操作,并与二叉链表存储结构进行比较。
采用创建表达式二叉树的方法计算表达式值。要求增加关系等运算符,为各运算符约定优先级,设置若干优先级。将运算符及其优先级声明为运算符对象。
2.课程设计题目及要求
数据结构课程设计的要求是,综合运用数据结构的基础知识和算法设计的基本原则,独立编制一个具有中等规模的、一定难度的、解决实际问题的应用程序;通过题意分析、选择数据结构、算法设计、编制程序、调试程序、软件测试、结果分析、撰写课程设计报告等环节完成软件设计的全过程,完善算法并提高程序性能。

江苏科技大学课程实践设计报告VC++

江苏科技大学课程实践设计报告VC++

江苏科技大学课程实践报告设计题目: 计算机程序设计实践(VC++) 设计时间: 2010 - 03-01 至2010- 03-07 学院:专业班级:学生姓名: 学号指导老师:2010年03月实践一一、实践任务1.基础题第2题:试建立一个类SP,求f(n,k)=1k + 2k + 3k + …… + n k,另有辅助函数power(m,n)用于求m n。

具体要求如下:(1)私有数据成员●int n,k;存放公式中n和k的值;共有成员函数(2)共有成员函数●SP(int n1,int k1):构造函数,初始化数据成员数据n和k。

●int power(int m,int n):求m n●int fun():求公式的累加和●void show():输出求得的结果(3)在主程序中定义对象s,对该类进行测试。

二、系统设计(1)系统功能分析本系统主要实现函数f(n,k)=1k + 2k + 3k + …… + n k的求值。

(2)类的定义与描述(3)编写源程序如下:#include <iostream.h>class SP{int n;int k;public:SP (int n1,int k1){n=n1;k=k1;}int power (int m,int n){int s=1;for (int i=1;i<=n;i++)s*=m;return s;}int fun ( ){int f=0;int j=1;while (j<=n){f+=power(j,k);j++;}return f;}void show(){cout<<fun()<<endl;}};void main (){int n,k;cin>>n>>k;SP s(n,k);s.show();}三.系统测试对类进行测试,测试数据为2 3;预期输出结果为9四.实验小结此题的关键是fun函数中条件的控制,通过此次实践,熟悉了类的基本构造,学会了用类来求解函数。

数据结构实验课教案

数据结构实验课教案

数据结构实验课教案一、实验目的与要求1. 实验目的(1) 掌握数据结构的基本概念和算法。

(2) 培养实际操作能力,巩固课堂所学知识。

(3) 提高编程技能,为实际项目开发打下基础。

2. 实验要求(1) 严格按照实验指导书进行实验。

(2) 实验前认真预习,充分理解实验内容。

(3) 实验过程中积极思考,遇到问题及时解决。

(4) 按时完成实验,积极参与讨论与交流。

二、实验环境与工具1. 实验环境(1) 操作系统:Windows 7/8/10或Linux。

(2) 编程语言:C/C++、Java或Python。

(3) 开发工具:Visual Studio、Eclipse、IntelliJ IDEA或PyCharm。

2. 实验工具(1) 文本编辑器或集成开发环境(IDE)。

(2) 版本控制系统(如Git)。

(3) 在线编程平台(如LeetCode、牛客网)。

三、实验内容与安排1. 实验一:线性表的基本操作(1) 实现线性表的顺序存储结构。

(2) 实现线性表的插入、删除、查找等基本操作。

(3) 分析线性表的时间复杂度。

2. 实验二:栈与队列的基本操作(1) 实现栈的顺序存储结构。

(2) 实现队列的顺序存储结构。

(3) 实现栈与队列的进栈、出栈、入队、出队等基本操作。

(4) 分析栈与队列的时间复杂度。

3. 实验三:线性表的链式存储结构(1) 实现单链表的结构。

(2) 实现单链表的插入、删除、查找等基本操作。

(3) 分析单链表的时间复杂度。

4. 实验四:树与二叉树的基本操作(1) 实现二叉树的结构。

(2) 实现二叉树的遍历(前序、中序、后序)。

(3) 实现二叉搜索树的基本操作。

(4) 分析树与二叉树的时间复杂度。

5. 实验五:图的基本操作(1) 实现图的邻接矩阵存储结构。

(2) 实现图的邻接表存储结构。

(3) 实现图的深度优先搜索(DFS)和广度优先搜索(BFS)。

(4) 分析图的时间复杂度。

四、实验评价与成绩评定1. 实验评价(1) 代码质量:代码规范、注释清晰、易于维护。

数据结构课程设计

数据结构课程设计

《数据结构》课程设计实践指导书一、实践的目的和任务《数据结构》课程设计是计算机科学技术专业集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习。

开设本课程设计实践的主要目的就是要达到理论与实际应用相结合,提高学生的动手能力,完成计算机应用能力的培养;主要任务是通过对给定问题的求解,使学生在运用《数据结构》、程序设计以及其它所学课程中的各种基本技术和理论,在建立问题模型、构造求解算法、设计数据结构、编程及上机调试等方面得到全面的锻炼,从而能更深刻地理解《数据结构》的精髓,为后续软件课程的学习及软件设计能力的提高奠定良好的基础。

二、实践的内容和要求(一)实践内容实践内容为数据结构课程完成后,运用《数据结构》、程序设计以及其它所学课程中的知识和技术来解决实际的问题。

在解决实际应用性问题时,按照计算机解决问题的步骤进行以下几个方面的工作:采用简明、严格的问题描述,建立模型,设计求解方法,用计算机实现求解方法,最后进行测试和文档制作。

1、建立模型许多问题的最初描述既不精确又不简练,还有一些问题不可能简单而精确地用计算机可求解的形式来描述,即使有些可用计算机求解的问题,也需要在很大范围内确定问题的参数,而那些合理的参数值只有通过实验才能确定。

因此,要用计算机解决问题,必须首先要以简明、严格的方式将问题描述清楚。

数学或其它科学中的几乎所有分支都可作为某一类具体问题的抽象模型。

例如,在涉及到若干对象及其相互间关系的问题时所用的数学模型为图论;数值计算问题中常用的数学模型为线性方程组(用于求解电路的电流强度或结构中的应力)或微分方程(用于预报人口增长情况或化学反应速度等);在符号与文本处理问题时常用字符串及形式语法作为模型(如编译系统)。

《数据结构》课程中所介绍的各种结构均可作为一种模型。

2、构造算法对问题建立了适当的数学模型后,就可以依据这一模型求解。

最初的目标是给出一个算法形式的解法,这是设计的核心部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

附件一、软件实习2(数据结构)要求1. 学生必须仔细阅读软件实习2(数据结构)方案,认真主动完成软件实习2(数据结构)的要求。

有问题及时主动通过各种方式与教师联系沟通。

2. 学生要发挥自主学习的能力,充分利用时间,安排好软件实习的时间计划,并在软件实习过程中不断检测自己的计划完成情况,及时向教师汇报。

3. 软件实习2(数据结构)按照教学要求需要两周时间完成,两周中每天至少要上2小时的上机来调试C或C++语言设计的程序。

学院安排上机时间学生不得缺席。

二、上交相关内容要求上交的成果的内容必须由以下三个部分组成,缺一不可。

1. 上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放到一个文件夹中);2. 上交程序的说明文件:(保存在.txt中)在说明文档中应该写明上交程序所在的目录,上交程序的主程序文件名,如果需要安装,要有程序的安装使用说明;3. 软件实习2(数据结构)报告,格式如下。

一、封面课程名:软件实习2课程号:19ZZ0009b-0学号:姓名:二、目录如:1、停车场管理 (1)2、线索二叉树 (10)三、内容1、停车场管理(一)设计题目(二)需求分析在该部分中叙述,每个模块的功能要求。

(三)概要设计算法设计说明(包括算法设计思想、算法设计分析、流程图等)、每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。

(四)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)源程序要按照写程序的规则来编写。

要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

(五)调试分析测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。

2、线索二叉树(一)设计题目(二)需求分析……四、总结软件实习2(数据结构)过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在软件实习2(数据结构)过程中对《数据结构》课程的认识等内容。

软件实习2(数据结构)任务书学期:13-14-2 班级:计算机12455361/2一、软件实习2(数据结构)目的软件实习2(数据结构)是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

本软件实习的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。

二、设计要求1、通过这次软件实习,要求在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

2、学生必须仔细研读软件实习2(数据结构)要求,以学生自学为主、指导教师指导为辅,认真、独立地完成课程设计的任务,有问题及时主动与指导教师沟通。

3、本次软件实习按照教学要求需要在二周时间内独立完成,学生要发挥自主学习的能力,充分利用时间,安排好软件实习的时间计划,并在软件实习过程中不断检测自己的计划完成情况,及时地向指导教师汇报。

4、编程语言任选。

三、设计选题选题说明:前面5个为必做题(全做可达60分),后面题目为选做题,根据实际选做题目的难度和数量以及实现程序的完善性可以适当加减分;同学们在选题时,要结合个人实际情况,确保及格,力争多做。

1、集合的并、交和差运算【问题描述】编制一个能演示执行集合的并、交和差运算的程序。

【基本要求】(1) 集合的元素限定为小写字母字符[…a‟..‟z‟] 。

(2) 演示程序以用户和计算机的对话方式执行。

【实现提示】以链表表示集合。

【选作内容】(1) 集合的元素判定和子集判定运算。

(2) 求集合的补集。

(3) 集合的混合运算表达式求值。

(4) 集合的元素类型推广到其他类型,甚至任意类型。

2、病人就医管理【问题描述】病人到医院看病,排队看医生的情况,在病人排队过程中,主要发生两件事:(1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。

(2)护士从等待队列中取出一位病人的病历,该病人进入诊室就诊。

试为医院编制按上述要求进行管理的模拟程序。

【基本要求】程序采用菜单方式,其选项及功能说明如下:(1)排队------输入病人的病历号,加入到病人排队队列中(2)就诊-------病人排队队列中最前面的病人就诊,并将其从队列中删除。

(3)查看排队------从队首到队尾列出所有的排队病人的病历号。

(4)下班---------退出运行。

3、校园导游咨询【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。

【基本要求】(1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

(2)为来访客人提供图中任意景点相关信息的查询。

(3)为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。

4、散列表的设计与实现【问题描述】设计散列表实现电话号码查找系统。

【基本要求】(1) 设每个记录有下列数据项:用户名、电话号码、地址;(2) 从键盘输入各记录,以用户名(汉语拼音形式)为关键字建立散列表;(3) 采用一定的方法解决冲突;(4) 查找并显示给定电话号码的记录;【选作内容】(1) 系统功能的完善;(2) 设计不同的散列函数,比较冲突率;(3) 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。

5、排序综合【问题描述】利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

【基本要求】(1)至少采用三种方法(希尔排序、快速排序、堆排序)实现上述问题求解;(2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法;(3)统计每种算法所用的比较次数和交换次数,最后列表显示;(4)如果采用4种或4种以上的方法者,可适当加分。

6、一元稀疏多项式的计算(*)【问题描述】实现两个多项式的运算(相加、相减)。

【基本要求】(1)按照指数降序排列建立并输出多项式(2)完成两个多项式的相加、相减,并将结果输出(3)以链式存储结构实现多项式。

7、停车场管理(*)【问题描述】设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。

汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已停满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。

试为停车场编制按上述要求进行管理的模拟程序。

【基本要求】以栈模拟停车场,以队列模拟车场外的便道。

每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。

对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停车不收费)。

栈以顺序存储结构实现,队列以链表结构实现。

8、纸牌游戏(*)【问题描述】编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:这时正面向上的牌有哪些?【基本要求】至少采用两种不同的数据结构的方法实现。

9、敢死队问题(*)【问题描述】有M个敢死队员要炸掉敌人的一碉堡,谁都不想去,排长决定用轮回数数的办法来决定哪个战士去执行任务。

如果前一个战士没完成任务,则要再派一个战士上去。

现给每个战士编一个号,大家围坐成一圈,随便从某一个战士开始计数,当数到5时,对应的战士就去执行任务,且此战士不再参加下一轮计数。

如果此战士没完成任务,再从下一个战士开始数数,被数到第5时,此战士接着去执行任务。

以此类推,直到任务完成为止。

排长是不愿意去的,假设排长为1号,请你设计一程序,求出从第几号战士开始计数才能让排长最后一个留下来而不去执行任务。

【基本要求】至少采用两种不同的数据结构的方法实现。

10、猴子选大王(*)【问题描述】一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1--m的顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。

【基本要求】(1)输入数据:输入m,n。

m,n 为整数,n<m(2)输出形式:中文提示按照m个猴子,数n 个数的方法,输出为大王的猴子是几号,建立一个函数来实现此功能(3)至少采用两种不同的数据结构的方法实现。

11、文章编辑(*)【问题描述】输入一页文字(静态存储一页文章,每行最多不超过80个字符,共N行),程序可以统计出文字、数字、空格的个数。

【基本要求】(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。

(4)存储结构使用线性表,分别用几个子函数实现相应的功能;(5)输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

(6)输出形式:1)分行输出用户输入的各行字符;2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"3)输出删除某一字符串后的文章;12、迷宫求解(*)【问题描述】以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。

设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。

【基本要求】(1)首先实现一个栈类型,然后编写一个求解迷宫的非递归程序。

(2)求得的通路以三元组(i,j,d)的形式输出,其中(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。

13、走迷宫游戏(*)【问题描述】程序开始运行时显示一个迷宫地图,迷宫中央有一只老鼠,迷宫的右下方有一个粮仓。

游戏的任务是使用键盘上的方向键操纵老鼠在规定的时间内走到粮仓处。

相关文档
最新文档