1、 数据结构课程设计报告数据结构课程设计报告 冒冒泡排序法泡排序法 数组的运用数组的运用 班 级: 姓 名: 指导教师: 成 绩:_ 2011 年 12 月 23 日 2 目目 录录 一、绪论一、绪论3 1.1 引言.3 1.2 起泡法的定义.3 二、需求分析二、需求分析 .3 2.1 对修改起泡法的认识.3 2.2 对程序的分析.4 2.3 程序的改观及功能.4 三、概要设计三、概要设计 .4 3.1 程序的思路.4 3.2 程序模块分析.5 子流程分析.5 完整流程分析 6 四、详细设计四、详细设计 .7 4.1 算法分析.7 4.2 程序算法.7 子程序一算法 7 子程序二算法 8 主程序
2、算法.8 五五.调试分析调试分析 9 5.1 编写程序.9 5.2 运行结果.18 六六、设计体会、设计体会 .19 七、结束语七、结束语 .20 参考文献参考文献20 3 一、绪论一、绪论 1.1 引言引言 从 C 语言产生到现在, 它已经成为最重要和最流行的编程语言之一。 在各种流行编 程语言中,都能看到 C 语言的影子,如 Java 的语法与 C 语言基本相同。学习、掌握 C 语言是每一个计算机技术人员的基本功之一。 C 语言具有高级语言的强大功能,却又 有很多直接操作计算机硬件的功能(这些都是汇编语言的功能) ,因此,C 语言通常又 被称为中级语言。学习和掌握 C 语言,既可以增进对于
3、计算机底层工作机制的了解,又 为进一步学习其他高级语言打下了坚实的基础。 当前,加强实践环节,培养创新人才已经成为全国高校本科生培养的大方向。从计 算机小专业的学科特点来看,我们更强调课程体系整体优化,立足系统,软硬结合,加 强实践,注重创新和发展学生个性。C 语言作为一门最通用的语言,在过去很流行,将 来依然会如此。 几乎每一个理工科或者其他专业的学生毫不例外地要学习它。 记得大学 里,很多学校都把谭浩强教授的C 程序设计作为入门教材,这是绝佳的选择。 1.2 起泡法的定义起泡法的定义 冒泡法排序的排序过程如下, 首先将第一个记录与第二个记录进行比较, 若为逆序 (R1R2) ,则将两个记录
4、交换,然后比较第二个记录和第三个记录。依次类推,直 到第 n- 1 个记录完成比较为止。上述过程称为第一次起泡排序过程,其结果使得最大 的记录被放在了最后一个记录的位置上。然后进行第二次起泡排序,对前 n- 1 个记录 进行同样的操作将次大的记录放在第 n-1 个记录的位置上。 二、二、需求分析需求分析 2.1 对对冒冒泡法的认识泡法的认识 程序达到的结果必须要有所改观, 修改后程序可以从正反两方面共同进行扫描, 判 断数列中数的大小。经过几趟比较后,依次最大最小的数沉底和置高,随后是第二大和 4 第二小的数。根据这样的方式将数列按大到小排好输出。 2.2 对程序的分析对程序的分析 本程序是调用子程序来完成的,设计两个子程序第一个子程序将最大的排到底端, 第二个将最小的排到顶端,然后归总即可得到按序输出的数列。第一个子程序利用 for 循环语句进行 9 次循环,实现 9 趟比较;再每趟进行 9-j 次比较,j 是从