SWUST OJ 1098: 堆的判断

题目描述

编写程序判断以下给出的整数序列是否为最小堆。

输入

第一行是元素的个数n;
第二行是n个整数序列。

输出

如果是小根堆,输出Yes,否者输出No。

样例输入

10
100 86 48 73 35 39 42 57 66 21

样例输出

No

参考程序

#include<stdio.h>
#include<stdlib.h>
void judge(int *,int );
int main()
{
    int num;
    scanf("%d",&num);
    int a[100];
    int i;
    for(i=1;i<=num;i++)
    {
        scanf("%d",a+i);
    }
    judge(a,num);
    return 0;
}
void judge(int *a,int n)
{
    int i;
    for(i=1;i<=n/2;i++)
    {
        if(a[i]<a[i*2]||a[i]<a[2*i+1])
        {printf("Yes");return;}
    }
    printf("No");
}

注意

该程序仅供学习参考!

上一篇:JNOJ部署教程(3)—项目目录结构


下一篇:查询多表的信息,放到一个表中(使用触发器)