【数据结构_堆_1098】堆的判断

注意:

1.进行循环读入数组时,从1开始;

2.(i*2)和(i*2+1)均不得超过数组大小;


#include 
#include 
#include 
using namespace std;
int main()
{
	int n,a[1005],i,j,flag=0;
	cin>>n;
	for(i=1;i<=n;i++)
		cin>>a[i];
	for(i=1;i<=n;i++)
	{
		if((a[i]>a[i*2] || a[i]>a[i*2+1]) && i*2<=n && i*2+1<=n)
		{
			flag=1;
			break;
		}
	}
	if(flag==1) cout<<"No";
	else cout<<"Yes";
	return 0;
}


你可能感兴趣的:(数据结构)