网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构(C语言)课程设计.doc

数据结构(C语言)课程设计.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE

《数据结构与算法》

课程设计报告

(2012—2013学年第1学期)

计算机与信息工程学院

目录

TOC\o1-3\h\z\u一.课程设计的目的与要求(含设计指标) 2

二.方案实现与调试 2

2.1题目:航班查询系统 2

2.2题目:字符串操作 4

2.3:二叉树的运算2 6

2.4二叉树运算1 8

三.课程设计分析与总结 10

四.源程序清单 10

2.1航班查询系统 10

2.2字符串操作 18

2.3二叉树运算2 19

2.4二叉树运算 22

设计日志 25

一.课程设计的目的与要求(含设计指标)

设计目的

1、培养学生运用算法与数据结构的基本知识解决实际编程中的数据结构设计和算法设计问题。

2、培养学生独立设计程序与解决问题的能力,培养学生团队协作集成程序模块及调试能力。

3、培养学生初步的软件设计及软件测试的能力。

基本要求:

学生必须仔细阅读《数据结构》课程设计指导书,认真主动完成课程设计的要求。有问题及时主动通过各种方式与教师联系沟通。学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课程设计过程中不断检测自己的计划完成情况,有困难及时向教师汇报。

课程设计按照教学要求需要一周时间完成,一周中每天(按每周5天)上机调试程序时间不少于4小时,总共至少要上机调试程序15小时。

根据设计报告要求编写设计报告,主要内容包括目的、意义、原理和实现方法简介、过程分析及说明、实验结果情况说明、结论。

每位同学必须有可运行的程序,学生能清楚解释各自编写的程序,并回答教师的提问,学生回答的问题和程序运行的结果作为评分的主要衡量标准;(周三开始逐一检查)。

二.方案实现与调试

2.1题目:航班查询系统

2.1.1题目内容

飞机航班信息包括:航班号、起点站、终点站、起飞时间、到达时间、机型以及票价,实例如下:

设计航班查询系统要求能对飞机航班信息进行增加、删除、排序和查找。可按航班的航班号、起点站、终点站、起飞时间以及到达时间进行查询

2.1.2算法描述及实验步骤

算法描述

该航班查询系统采用线性链表存储。开始,创建链表。然后输出提示操作选项,由用户输入所选项序号。执行选项。当第一次操作结束后,提示是否继续进行操作,再有用户决定。

流程图

开始

开始

初始化变量

输入操作选项

判断选项

执行操作

输出执行结果

判断是否继续操作

结束

2.1.3调试过程及实验结果

(1)完成第一模块:链表创建以及添加,编译时出现警告:“warningC4091:typedef:ignoredonleftofstructflywhennovariableisdeclared”,“typedef”时在结构体后面定义一个变量名,所以只需在结构体后面加一个变量名,或者是把结构体的“typedef”去掉。运行,结果提示错误。重新检查,发现调用的创建函数和添加函数位置放反了,修改错误,运行成功。

(2)完成其他模块。在编写排序模块时,链表的排序不懂,通过网上查找,用冒泡法,通过调换链表节点的数据进行排序。

2.2题目:字符串操作

2.2.1题目内容

字符串采用数组存储,建立两个字符串String1和String2.输出两个字符串。

将字符串String2的头n个字符添加到String1的尾部,输出结果查找String3在串String1中的位置,若String3在String1中不存在,则插入String3在String1中的m位置上。输出结果。

2.2.2算法描述及实验步骤

算法描述

开始,输入两个字符串,然后将string2复制到string1后面。然后输string3,判断string3是否在string1内,若存在,输出找到;若不存在,输入插入位置,然后将string3插入string1中,输出string1,结束。

流程图

开始

开始

初始化变量

输入两个字符串

合并两个字符串

输入字符串3

判断3是否存在1中

输出结果

将3添加到1中

结束

2.2.3调试过程及实验结果

(1)拷贝string3到string1时,因为移动string1后面的字符,忘了加结束标志,结果输出乱码。

2.3:二叉树的运算2

2.3.1题目内容

任务:请设计一个算法,把二叉树的叶子结点按从左到右的顺序连成一个单链表。二叉树用二叉链存储,链接时用叶子结点的rchild域存放指针。

2.3.2算法描述及实验步骤

算法描述

该题采用线性链表存储结构。开始,创建二叉树,链表。遍历整棵二叉树,查找叶子节

文档评论(0)

偶遇 + 关注
实名认证
内容提供者

个人介绍

1亿VIP精品文档

相关文档