判断最大堆第k大的数与给定的数x的大小关系

题目:EPI  

判断最大堆第k大的数与给定的数x的大小关系_第1张图片

void compare_k_th_largest_heap_core(const int* maxheap,const int &length,const int &k,const int &x,const int &id,int &larger,int &equal)
{
	if(id>=length)
		return;
	if(maxheap[id]==x)
		equal++;
	else if(maxheap[id]>x)
		larger++;
	else
		return;
	if(equallength)
		throw new exception("error");
	int larger=0,equal=0;
	compare_k_th_largest_heap_core(maxheap,length,k,x,0,larger,equal);
	if(larger>=k)
		return 1;
	else if(larger+equal>=k)
		return 0;
	else
		return -1;
}


你可能感兴趣的:(c++,程序员,面试,堆,程序员面试题)