其他分享
首页 > 其他分享> > SWUST OJ 1098: 堆的判断

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");
}

注意

该程序仅供学习参考!

标签:输出,OJ,No,int,1098,num,printf,judge,SWUST
来源: https://blog.csdn.net/qq_29711355/article/details/122386088