自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 堆排序(c语言)

堆排序的基本思想及步骤 堆排序的基本思想是:将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到n个元素的次小值。如此反复执行,便能得到一个有序序列了 构建初始堆(升序建大堆,降序建小堆) a.给定一个无序数组: b.创建一个大堆 将根节点与最后一个叶子节点进...

2018-03-29 20:31:05 10102

原创 选择排序(c语言)

选择排序: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 对选择排序的改进: 每一趟排序选出最大值和最小值 算法如下: void Swap(DataType* x1, DataType* x2) { DataT...

2018-03-27 22:29:41 315

原创 从尾到头打印单链表

解决这个问题有两种方法: 1.非递归 2.递归 算法如下 void SListPrintTailToHead(SListNode* pHead)//非递归 { SListNode* tail = NULL; while (pHead != tail) { SListNode* cur = pHead; whi...

2018-03-26 20:05:04 140

原创 归并排序(c语言)

归并排序示例: 把数组平均分成两半,若两个区间有序后,则进行归并。使两个区间有序和快排同样的方法一样,递归到最后只有一个值或者没有时即有序。但在归并时需要开辟一段空间把合并的数据存起来,再放回原数组。 时间复杂度: N*logN 算法如下: void _MergeSort(DataType* a, DataType* tmp, int le...

2018-03-25 23:21:46 888

原创 希尔排序(c语言)

希尔排序:取一个小于n的整数gap(gap又叫做步长),通过把所有距离为gap或者gap的倍数的数据放在一个组里,对每一个组进行插入排序,当每个组有序时,这整个序列就接近有序,然后减小gap,继续上面的操作,gap越小时,预排序完毕越接近有序,当gap等于1时,预排序就相当于直接插入排序。

2018-03-23 17:22:05 659

原创 插入排序(c语言)

插入排序的基本思想是:每步将一个待排序的纪录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。

2018-03-22 18:09:22 3497

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除