数据结构课程设计报告 赫前进

发布 2022-10-05 19:58:28 阅读 3336

数据结构。

课程设计报告。

班级: 1020552

姓名: 赫前进

学号: 11

指导老师: 刘宇君

完成日期: 2012/6/15

1. 题目。

排序。2. 需求分析。

2.1、选题要求。

1)设计一个菜单,格式如下:

1.直接插入排序。

2.希尔排序。

3.冒泡排序。

4快速排序。

5选择排序。

6.堆排序。

7.退出程序。

2)选择不同的菜单进行相应的排序,并给出排序的关键字序列。

2.2、选题的意义及背景。

排序是计算机程序设计中的一种重要操作。它的功能是将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。

排序的方法很多,但是就其全面性能而言,很难提出一种被认为是最好的方法,每一种方法都有各自的优缺点,适合在不同的环境下使用。如果按排序过程中依据的不同原则对内部排序方法进行分类,则大致可分为插入排序,交换排序,选择排序,归并排序和记数排序等五类。

此实验通过对直插排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序这几种内部排序算法进行比较,能使我们更好的掌握这些排序的基本思想及排序算法。通过该题目的设计过程,可以加深理解各种数据结构的逻辑结构、存储结构及相应上运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构,学会如何把学到的知识用于解决实际问题,培养我们的动手能力。

2.3、课程设计目标。

本课程设计对以下内部排序算法进行比较:直插排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。

待排序表的元素关键字为整数,用随机不同的测试数据做测试比较。比较的指标为关键字的比较次数、关键字的移动次数和所用时间。最后对这些内部排序算法进行性能分析。

3. 概要设计。

3.1、原始数据。

用户输入记录的个数,数据由随机数产生器生成。

3.2、输出数据。

产生的随机数分别用直插排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。这些排序方法进行排序,输出关键字的比较次数、移动次数和所用时间。

3.3、数据处理。

3.3、存储结构。

typedef struct

cout<}

4.2.2六种排序算法**。

/插入排序。

void linklist::insert(int dk)

memcpy(&r[j + dk], temp, sizeof(redtype));

/希尔排序。

void linklist::shellsort()

int t=length+1;

dowhile(t>1);

/快速排序。

int linklist::partition(int low, int high)

(chgnum)++

memcpy(&r[low], r[high], sizeof(redtype));

while (low < high &&r[low].key <=pivotkey)

(chgnum)++

memcpy(&r[high], r[low], sizeof(redtype));

memcpy(&r[low], temp, sizeof(redtype));

return low;

void linklist::qsort( int low, int high)

void linklist::quicksort(){

qsort(0, length - 1);

数据结构课程设计报告

东莞理工学院城市学院。题目 二叉排序树 专业 计算机科学与技术 本 年级 2010级计算机科学与技术专业 1 班。个人姓名 何振江。指导教师 张娟老师 时间 2010至2011第二学期第18周 地点 实验楼615机房 东莞理工学院城市学院计算机与信息科学系制。2011年 6月。实习报告的内容。一 问...

数据结构课程设计报告

设计一个校园导游程序,为来访的客人提供信息查询服务。1 设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图 无向网 以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。2 存放景点代号 名称 简介等信息供用户查询。3 为来访客人提供图中任意景点相关信息的查询。4 为来访客人提供...

数据结构课程设计报告

河北科技大学。课程设计报告。学生姓名学号。专业班级。课程名称数据结构。学年学期 2 012 2 013学年第 2 学期指导教师 黄春茹。2 0 13年 6 月。课程设计成绩评定表。一 数据结构课程设计目标。二 问题描述。三 需求分析。四 概要设计。五 详细设计。六 软件说明书 给出软件如何使用,使用...