heapsorter.h

来自「实现各种排序算法」· C头文件 代码 · 共 22 行

H
22
字号
//堆排序类

#include "Sorter.h"
#include "MaxHeap.h"

template <class Record,class Compare>
class HeapSorter:public Sorter<Record,Compare>
{
public:
	void Sort(Record Array[],int n);
};

//堆排序,Array[]为待排序数组,n为数组长度
template <class Record,class Compare>
void HeapSorter<Record,Compare>::Sort(Record Array[], int n) 
{ 
	Record record;
	MaxHeap<int> max_heap = MaxHeap<int>(Array,n,n);	//建堆
	for (int i=0; i<n; i++)		 // 依次找出剩余记录中的最大记录,即堆顶
		max_heap.MoveMax();	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?