![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法总结
文章平均质量分 64
xiao_Mrs_li
向大牛看齐,才有可能成为大神~~~~~~~~~
展开
-
快速排序
昨天学了冒泡排序,今天我们大家来学习一下快速排序。 在写这个之前,我也是察看了很多博客的,十分感谢博主http://www.cnblogs.com/morewindows/archive/2011/08/13/2137415.html http://blog.csdn.net/morewindows/article/details/6684558 ————————————原创 2017-04-06 15:28:09 · 282 阅读 · 0 评论 -
冒泡算法的简要分析
博主是边学习边写的,看了很多的冒泡算法讲解,觉得不够详细,研究了很久才弄懂,看似简单还是要实现以下才行,记录学习过程。 1. 冒泡排序讲解 实现方法: 1)比较相邻的元素,如果第一个比第二个大,那么交换两个元素 2)对每一对相邻元素做同样的工作, 从第一对到最后一对,这时候最大的数字在最后的位置 3)针对所有元素重复以上步骤,除了最后一个 4)持续每次对越来越少的元素重复上面原创 2017-04-05 18:31:32 · 477 阅读 · 0 评论 -
插入排序(c实现)
插入排序, 算法复杂度为o(n^2) 博主觉得插入排序就像是我们打扑克的时候,假设手中的牌是有序的,而下面摸得排是无序的,那么 当我们拿一个牌后,假设这个牌是有序的,接着拿第二个牌,比较抽起的牌和手中有序牌,从后往前比较,当比手中有序的牌小的是时候,就找到了这个牌应该插入的位置。 下面是《数据结构与算法分析》中的描述:插入排序由N-1趟排序组成,对于P=1趟到P原创 2017-04-10 22:02:02 · 452 阅读 · 0 评论 -
插入排序(c++实现)
插入排序的基本思想是每步将一个待排序的记录按其排序码值的大小,插到前面已经排好的文件中的适当位置,直到全部插入完为止。插入排序方法主要有直接插入排序和希尔排序。 直接插入排序具体算法描述如下: 1. 从第一个元素开始,该元素可以认为已经被排序 2. 取出下一个元素,在已经排序的元素序列中从后向前扫描 3. 如果该元素(已排序)大于新元素,将该元素移到下一位原创 2017-09-03 21:51:52 · 398 阅读 · 0 评论 -
希尔排序(c++实现)
希尔(Shell)排序的基本思想是:先取一个小于n的整数d1作为第一个增量把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取得第二个增量d2 一般取d1=n/2,di+1=di/2。如果结果为偶数,则加1,保证di为奇数。 代码:// 希尔排序.cpp : 定义控制台应用程序的入口点。 //原创 2017-09-04 17:02:39 · 1619 阅读 · 0 评论 -
归并排序
归并排序是将两个或两个以上的有序子表合并成一个新的有序表。初始时,把含有n个结点的待排序序列看作由n个长度都为1的有序子表组成,将它们依次两两归并得到长度为2的若干有序子表,再对它们两两合并。直到得到长度为n的有序表,排序结束。 归并操作的工作原理如下: 1、申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 2、设定两个指针,最初位置分别为两个已经排序序列原创 2017-09-05 11:46:46 · 341 阅读 · 0 评论