c语言各种排序算法的实现文档格式.docx

上传人:b****3 文档编号:7774127 上传时间:2023-05-09 格式:DOCX 页数:12 大小:97.61KB
下载 相关 举报
c语言各种排序算法的实现文档格式.docx_第1页
第1页 / 共12页
c语言各种排序算法的实现文档格式.docx_第2页
第2页 / 共12页
c语言各种排序算法的实现文档格式.docx_第3页
第3页 / 共12页
c语言各种排序算法的实现文档格式.docx_第4页
第4页 / 共12页
c语言各种排序算法的实现文档格式.docx_第5页
第5页 / 共12页
c语言各种排序算法的实现文档格式.docx_第6页
第6页 / 共12页
c语言各种排序算法的实现文档格式.docx_第7页
第7页 / 共12页
c语言各种排序算法的实现文档格式.docx_第8页
第8页 / 共12页
c语言各种排序算法的实现文档格式.docx_第9页
第9页 / 共12页
c语言各种排序算法的实现文档格式.docx_第10页
第10页 / 共12页
c语言各种排序算法的实现文档格式.docx_第11页
第11页 / 共12页
c语言各种排序算法的实现文档格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言各种排序算法的实现文档格式.docx

《c语言各种排序算法的实现文档格式.docx》由会员分享,可在线阅读,更多相关《c语言各种排序算法的实现文档格式.docx(12页珍藏版)》请在冰点文库上搜索。

c语言各种排序算法的实现文档格式.docx

接着我们从桌面上一一的摸牌,并将它放到左手的一个正确的位置上。

为了找到这个正确的位置,要将它与左手的牌从右到左地进行比较,无论在什么时候左手的牌都*排好序的。

很简单吧•不过当初为了理解这个算法也花了一点时间,下面是C语言对插入排序的一个简单实现:

帮助

2

3

4

5

6

7

8

9

2>

•选择排序

选择排序的工作原理是这样的,对数据进行遍历,找出最小的元素(升序)作为第一个元素,再在剩下的数中找出最小的作为第二个元素,一直循环下去,最后的你会发现这个数组中的数据已经排好序了。

下面是C语言的选择排序的一个简单实现:

//选择羽乍序intselecl_sort(inta[],intsize)

10

11

12

13

14

15

3>

.冒泡排序

冒泡排序是重复交换相邻的两个反序元素。

它的工作工作机理我觉得跟选择排序差不多。

因为在第一个遍历整个数组交换反序元素之后,数组的第一个元素就已经是整个数组中最小的元素了。

下面是C语言实现的一个冒泡排序。

帮助

4>

.并归排序

并归排序,你也可以叫它合并排序。

它采用了递归的思想,将数据分成两个部分,将这两个部分排好序之后再进行合并,一直重复这个过程,得出最后的结果。

可能说的比较抽象,大家看下面的代码。

16

17

18

19

20

21

22

23

24

25

26

27

28

有两个函数,主例程将数组分成2个部分,然后递归调用自身,最后再调用合并函数合并最后的结果。

更多关于合并排序的容在这里。

5>快速排序

这是我觉得最神奇的一个。

前面3个排序时间代价都是052),虽然并归排序的时间O(nlgn)0但是由于合并过程中需要的临时数组,使得它占用的栈空间相当大,在我的机子上(2G存)排序50万的整形数据程序就会崩溃,存不够了。

而快速排序虽然也是递归的,但是它完全在本地工作,不需要申请额外的空间,所以很方便。

下面是我用C语言写的一个快速排序的例程,帮助

29

30

31

32

33

34

35

36

37

38

39

40

这只是我理解的快速排序一个很简单的实现。

更多有关快速排序的原理你可以看这里

上面的代码都*我在理解算法之后写出来的,当然可能有一些bug,如果你发现了请联系我。

)关于算法性能的分析,我实在不在行。

在书上说的这几个算法性能上,前3个<

0(n2),后两个是0(nlgn)o说实话我对这些的理解不是很够。

于*我自己写了一个测试程序在我的笔记本上跑了下。

我的方式是随机生成数据,然后使用不同的排序算法进行测试,当然几百个数据几乎一瞬间就可以解出,所以我在测试的时候是对1000次(或者更多)排序的总时间进行统计。

通过统计结果,我发现插入排序在对于小量的数据,效果很好。

但畏在数据太大的时候就不能和并归排序和快速排序进行比较了。

这个数据的间值在200左右。

而快速排序不管是大数据还是小数据的效果都非常好,有些时候比插入排序还好。

当然,这是我没有遇到传说中的坏数据,因为坏数据是有可能让快速排序的时间达到0(n2)的。

这个文件是我测试的结果,有一些我连续测了几次,结果都差不多。

你可以看看。

当然,你可能会看的眼花。

寒假过了这么久,在家看游戏设计方面的*容。

参考书是《windows游戏编程大师技巧》。

终于会读取bmp位图了,并且还按照书上做了一个小动画。

哈哈,过几天再把整理的一个容发到博客上。

快过年了,提前祝大家新年快乐!

:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2