堆数据结构的实现以及堆排序(2)

void MaxHeap::heap_sort(){
    build_max_heap();
    int t = heapSize;
    for(int i=heapSize-1;i>0;--i){
        swap(heap[i],heap[0]);
        heapSize--;
        max_heapify(0);//取出之后对造成的不满足最大堆进行调整
    }
    heapSize=t;
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/4686f11ebb176cf0523e658a92b75813.html