c语言内部排序实验报告,内部排序算法比较实验报告(c语言版)

1-62-png_6_0_0_321_108_250_70_892.979_1262.879-222-0-35-222.jpg

题目:编制一个演示内部排序算法比较的程序

班级:姓名:学号:完成日期:

一、需求分析

1.本演示程序对以下6种常用的内部排序算法进行实测比较:起泡排序,直接插入排序,简单选择排序,快速排序,希尔排序,堆排序。

2.待排序表的元素的关键字为整数。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换记为3次移动)。

3.演示程序以以用户和计算机的对话方式执行,在计算机终端上显示提示信息,对随机数组进行排序,并输出比较指标值。

4.最后对结果作出简单分析。

二、概要设计

1.可排序表的抽象数据类型定义:

ADT OrderableList{

数据对象:D={ai|ai∈IntegerSet,i=1,2,…,n,n≥0}

数据关系:R1={|ai-1,ai∈D,i=2,…,n}

基本操作:

InitList(n)

操作结果:构造一个长度为n,元素值依次为1,2,…,n的有序表。

RandomizeList(d,isInverseOrder)

操作结果:首先根据isInverseOrder为True或False,将表置为逆序或正序,然后将表进行d(0≤d≤8)级随机打乱。d为0时表不打乱,d越大,打乱程度越高。

RecallList()

操作结果:恢复最后一次用RandomizeList随机打乱得到的可排序表。

ListLength()

操作结果:返回可排序表的长度。

ListEmpty()

操作结果:若可排序表为空表,则返回Ture,否则返回False。

BubbleSort( &c, &s)

操作结果:进行起泡排序,返回关键字比较次数c和移动次数s。

InsertSort( &c, &s)

操作结果:进行插入排序,返回关键字比较次数c和移动次数s。

SelectSort ( &c, &s)

操作结果:进行选择排序,返回关键字比较次数c和移动次数s。

QuickSort(&c, &s)

操作结果:进行快速排序,返回关键字比较次数c和移动次数s。

ShellSort(long &c, long &s)

操作结果:进行希尔排序,返回关键字比较次数c和移动次数s。

HeapSort (&c, &s)

操作结果:进行堆排序,返回关键字比较次数c和移动次数s。

ListTraverse(visit())

word文档可自由复制编辑

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值