#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int IsSmallHeap(int x[], int n)
{
int i, c1, c2;
for (i = 0; i < n / 2; i++)
{
c1 = i * 2 + 1;
c2 = 2 * i + 2;
if (c1 < n && x[c1] < x[i] || c2 < n && x[c2] < x[i])
{
return 0;
}
}
return 1;
}
void main()
{
int x[] = {5, 6, 7, 8, 9, 8, 10};
printf("%d", IsSmallHeap(x, 7));
}
判断是否是最小堆
最新推荐文章于 2022-05-21 15:11:57 发布