摘要: 一般采用数组a[n]来存储堆。首先要知道很重要的一点:当a[i]作为父结点的时候,其两个左右子结点为:a[2i+1]、a[2i+2];而当a[i]作为子结点时,其父结点为a[(i-1)/2](这个可以根据前面一条推算出来)。建一个新堆的过程:1)从最后一个父节点开始(下标为n/2-1),将其为根结点... 阅读全文
posted @ 2014-08-13 21:06 痞子胡先生 阅读(435) 评论(2) 推荐(2) 编辑
摘要: 测试代码如下。/** @hushunfeng 希尔排序 从小到大排列*/#include//单次希尔排序,即一次直接插入排序//array为需要排序的数组//dk为希尔排序算法中的增量void shellInsert(int *array,int dk) { //--- ... 阅读全文
posted @ 2014-08-13 12:00 痞子胡先生 阅读(178) 评论(2) 推荐(2) 编辑