排序算法
Xzg_2017
这个作者很懒,什么都没留下…
展开
-
冒泡排序及快速排序实现
各位码友身为软件开发工程师,算法中的排序可谓是重重之重,那么今天小码哥就给大家带来两种交换排序,简单算法中的冒泡排序,和号称排序算法中的王者快速排序,是不是很期待呀大笑大笑,话不多说,码代码啦!!!冒泡排序先给大家介绍一下什么是冒泡排序? 冒泡排序 (Bubble Sort)是一种交换排序。 它的基本思想是 : 两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。说了这么多,还是不原创 2018-03-16 23:26:13 · 481 阅读 · 0 评论 -
归并排序
二路归并排序 1,递归思想假设初始列表含有n个记录,则可以看成n个有序子序列,每个有序子序列的长度为1,然后两两归并,得到n/2个长度为2的有序子序列,再两两归并,如此重复下去,直到得到一个长度为n的有序序列为止。 2,递归实现二路归并排序 #define MAXSIZE 10 //定义一个宏,是arr的大小,也是需要开辟数组的大小...原创 2018-07-19 13:07:09 · 209 阅读 · 0 评论 -
希尔排序
讲希尔排序之前,先给大家讲一下直接插入排序。 1,直接插入排序什么是直接插入排序?基本思想:直接插入排序的基本操作就是将一个数据插入到已经排好序的有序表中,从而得到一个新的,数据个数增1的有序表。 2,直接插排序代码实现void InsertSort(int *arr, int n){ assert(arr != NULL &amp...原创 2018-07-07 17:38:54 · 280 阅读 · 0 评论 -
堆排序
讲堆排序之前,先讲一下简单选择排序! 1,简单选择排序基本思想:就是通过n-i次关键字间的比较,从n-i+1个数据中选出关键字最小的数据,并与第i个数据进行交换。 2,简单选择排序的代码实现void Swap(int *a,int *b) //交换{ int tmp = *a; *a = *b; *b = tmp;...原创 2018-07-08 00:53:55 · 323 阅读 · 0 评论