常见排序算法
独自倚剑闯天涯
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法之冒泡排序
排序算法之-冒泡排序 冒泡排序是一种交换排序,其基本思想是:两两比较相邻的记录的关键字,如果反序则交换,直到没有反序为止。 看着概念理解肯定有点晦涩,因此我提议举一个例子,例如李三是小学一年级的同学,老师组织他们去春游,可是出去了肯定要排好队伍,以彰显我们的霸气,故老师要求同学们排好队伍,然而年少无知的少年胡乱占了一列,身高最矮的李三身由于体虚弱被挤到了最后一个,很现实啊适者生存...原创 2018-03-19 10:46:13 · 231 阅读 · 0 评论 -
排序算法之选择排序
选择排序法是通过n-i次关键字比较,从n-i+1中选取关键字最小的记录。并和i个记录交换。同样我们举个实例:数组a[5]={5,4,3,2,1};首先假设5为最小元素,将5与其他元素比较,选取最小的归位,比较过程如下图所示:结果为:继续将第二个元素与其他比较选取最小的归位,结果如下图所示:继续将第三个元素与其他元素比较选取最小的归位,结果如下图所示:继续将第四个元素与其他元素比较选取最小的归位,结...原创 2018-03-19 11:51:43 · 162 阅读 · 0 评论 -
排序算法之快速排序
快速排序的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分关键字均比另一部分记录的关键字小,则可分别对记录继续进行排序,已达到整个序列有序的目的。话不多说直接上例子,这样理解起来比较方便。假设一组序列50,70,34,10,49,63,29要求对其进行排序,我们使得low指向第一个元素,high指向最后一个元素,令tmp=50;从右向左,high位置的元素小于50,则将50和29互...原创 2018-03-19 20:16:11 · 306 阅读 · 0 评论 -
排序算法之希尔排序
希尔排序也是排序算法的一种,先说他的定义,希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。概念的东西总是晦涩难懂,按照我的套路,焦点访谈用事实说话,因此大家一起来看一个例子。有一组数据,9,1,5,8,3,7,4,2,6令i=8/3+1=4以4为间隔,9,1;1,7;5,4;8,2;...原创 2018-03-20 10:41:45 · 142 阅读 · 0 评论 -
排序算法之归并排序
归并排序就是利用归并的思想实现排序的方法,它的原理是假设初始化序列含有n个记录,则可以看成是n个有序的子序列,每个子列的长度为1,然后两两归并。得到[n/2]的个长度为1或2的有序子序列,再两两归并,...,如此往复,直至得到一个长度为n的有序序列为止。归并排序的实现的步骤:实现左半部分的归并:#include <stdio.h> #include<stdlib.h> v...原创 2018-03-20 16:59:46 · 183 阅读 · 0 评论
分享