- 博客(4)
- 收藏
- 关注
原创 排序算法_C++(四)交换排序之冒泡排序
前三篇都是插入排序,随后的冒泡排序和快速排序是交换排序 冒泡排序有两种,1、每次把最大数放到末尾;2、每次把最小的放在行首。其实都是一样的。本文是每次找最大值,放在末尾。
2015-08-24 21:54:18
417
原创 排序算法_C++(三)插入排序之希尔排序
希尔排序又称缩小增量排序。个人理解其思想是将一组待排序序列分成几个小组,每个小组采用直接插入排序算法。假设一个待排序列有n个元素,找到一个整数gap(gap<n)作为间隔,把序列分成gap个小组。假如有十个元素,我们选取gap=5,则序列分成5个子序列,{1,6},{2,7},{3,8},{4,9},{5,10},相隔gap(5)个数的元素归为同一个子序列。然后对着每个子序列进行直接插入排序,
2015-08-15 22:13:44
280
原创 排序算法_C++(二)插入排序之折半插入排序
折半插入排序又称为二分法插入排序。此排序算法的”折半“是指无序表中的元素要插入到有序表中,该插到哪个位置?在有序表中寻找插入位置的方法是二分查找法。所以叫做折半插入。i 01 2 3 4 56 7 8 9原始序列 2125 49 25* 16 08 62 3871 54第 六 趟 0816 21 25 25* 4
2015-08-15 17:30:09
779
原创 排序算法_C++(一)插入排序之直接插入排序
排序算法主要分为:插入排序,选择排序,交换排序,堆排序,基数排序等。本文想将这些排序写成一个系列,算法是按照自己的思路写的,没有把它作为教材的意图。水平一般,力图说的直白,易懂。 首先从插入排序写,第一篇是直接插入排序。 直接插入排序的思想简单说一下。将一个无序的数组a[n]看成两部分:有序表和无序表,通常是讲第一个元素a[0]作为有序表,a[1,..,n-1]
2015-08-14 22:28:08
455
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人