可并堆简单总结

左偏树

代码

int mer(int x,int y){
	if(x==0||y==0) return x+y;
	if(lt[x].val>lt[y].val) swap(x,y);
	rc=mer(rc,y);
	if(lt[lc].dis<lt[rc].dis) swap(lc,rc);
	lt[x].dis=lt[rc].dis+1;
	return x;
}

斜堆

代码

int mer(int x,int y){
	if(x==0||y==0) return x+y;
	if(lt[x].val>lt[y].val) swap(x,y);
	rc=mer(rc,y);
	swap(lc,rc);
	return x;
}
原文地址:https://www.cnblogs.com/ErkkiErkko/p/10222747.html