![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
King_of_My_World
这个作者很懒,什么都没留下…
展开
-
堆排序
1.什么是堆? 堆的定义:堆是一棵完全二叉树按照顺序存储方式得到的一个数组,且满足父节点的值大于左右孩子结点的值。(大根堆) //维护大根堆的性质,从第i个元素向下调整 //其假定是,以当前结点i的左孩子、右孩子为根结点的二叉树是大根堆。 //len表示最后一个元素的下标。 void maxHeapify(int A[],int len, int i) { //找到当前节点i,左孩子原创 2015-05-08 11:39:12 · 294 阅读 · 0 评论 -
交换排序--冒泡排序和快速排序
1.交换 交换,就是根据序列中两个元素关键字的比较结果对换两个记录在序列中的位置。 2.冒泡排序 冒泡排序的主要思想是:假设待排序表长为n,从前往后两两比较相邻元素的值,若为逆序,则交换他们,直到序列比较完成,称之为一趟冒泡,其结果是最大的元素交换到待排序序列的末尾。下一趟冒泡时,最末尾元素不再参与比较,待排序序列减少一个元素。每趟冒泡都把序列中最大元素放在了序列的最终位置,这样最多做n-1原创 2015-05-08 17:02:58 · 478 阅读 · 0 评论