(新)C++实现堆排序示例.docx
《(新)C++实现堆排序示例.docx》由会员分享,可在线阅读,更多相关《(新)C++实现堆排序示例.docx(11页珍藏版)》请在第一文库网上搜索。
1、C+实现堆排序示例目录堆的实现He叩.h堆的管理及接口HeaP.c堆各个接口功能的实现test.c测试堆的实现He叩.h堆的管理及接口inc1udeinc1udeinc1udetypedefintHPDataType;typedefstructHeap(HPDataType*a;intsize;intcapacity;Heap;voidAdjustDown(HPDataType*a,intn,introot);堆的向上调整算法voidAdjuStUp(HPDataType*a,intchi1d);堆的初始化voidHeapInit(Heap*phpzHPDataType*azintn);堆的销
2、毁voidHeapDestroy(Heap*php);堆的插入voidHeapPush(Heap*php,HPDataTypex);堆的删除voidHeapPop(Heap*php);堆里的数据个数intHeapSize(Heap*php);判断堆是否为空intHeapEmpty(Heap*php);取堆顶数据HPDataTypeHeapTop(Heap*php);HeaP.c堆各个接口功能的实现堆的插入:将X插入下标为size的位置,+size然后使用向上调整算法调整堆的删除(删栈顶数据):将栈顶数据和下标为SiZe-I位置的数据交inc1udeHeap.h堆向下调整算法建小堆voidAdj
3、ustDown(HPDataType*a,intn,introot)intparent=root;intchi1d=parent*2+1;孩子超过数组下标结束whi1e(chi1dn)/chi1d始终左右孩子中小的那个if(achi1d+1achi1d&chi1d+1n)防止没有右孩子+chi1d;小的往上浮,大的往下沉if(achi1dparent则已满足小堆,直接breake1se(break;)堆的向上调整算法建小堆voidAdjuStUp(HPDataType*azintchi1d)(intparent=(chi1d-1)/2;whi1e(chi1d0)(if(achi1da=(HPD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实现 排序 示例