1、原理介绍:百度百科
2、最小堆的构造和添加
#include <stdio.h>
#define N 9 // 最小堆得元素个数
int minHeap[N]; // 存放最小堆的数组
int index1 = 0; // 最小堆数组索引
void add(int d) // 向最小堆内添加数据
{
if(index1 >= N)
{
printf("Out of range!\n");
return;
}
int t = index1; // t指向存放位置
int pt = (t - 1) / 2; // 父节点
while(t > 0) // t指向0位置时结束循环
{
if(minHea