优先级队列

void siftDown(int i,int val) {
	while (i < size / 2) {
		int child = 2 * i + 1; 
		if(child+1<size&&comp(que[child+1],que[child]) ){
			child=child+1;

		}
		else {

		}

		if (comp(que[child], val)) {
			que[i] = que[child];
			i = child;
		}else{

		
			
			break;
		}

	}	
	que[i] = val;return;
}
void siftDown(int i,int val) {
	while (i < size / 2) {
		int child = 2 * i + 1; 
		if(child+1<size&&comp(que[child+1],que[child]) ){
			child=child+1;

		}
		else {

		}

		if (comp(que[child], val)) {
			que[i] = que[child];
			i = child;
		}else{

		
			que[i] = val;
			break;
		}

	}
	
}

全部评论
想问一下为什么上面的代码输出没问题,下面的代码输出有问题
点赞 回复 分享
发布于 2024-10-16 16:32 北京

相关推荐

11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务