销毁堆,清理堆,统计堆节点个数【堆】

销毁堆,清理堆,统计堆节点个数

1销毁堆
销毁堆时,不仅要将堆中所有元素清空,还需将表示大小堆的函数指针置空。

211 //销毁堆
212 int HeapDestroy(Heap* heap)
213 {
214     if(heap==NULL)
215     {
216         //已经销毁
217         return 0 ;
218     }
219     heap->size=0;
220     heap->cmp=NULL;
221     return 1;
222 }

2清理堆
清空堆时,只需将堆中的所有元素删除,即将size置为0,

201 void  HeapClear(Heap* heap)
202 {
203     if(heap==NULL)                                                                                                                                                 
204     {
205         return ;
206     }
207     heap->size=0;
208     return ;
209 }

3统计堆节点个数
存放堆的数组实际元素个数size即为堆中的结点个数。

225 //统计堆中节点个数
226 size_t HeapSize(Heap* heap)
227 {
228     if(heap==NULL)
229     {
230         //非法输入
231         return (size_t)-1;
232     }                                                                                                                                                              
233     return heap->size;
234 }

猜你喜欢

转载自blog.csdn.net/yu876876/article/details/81061277