这两个写法有什么不同?
  • 板块学术版
  • 楼主ivnilkkk
  • 当前回复5
  • 已保存回复6
  • 发布时间2024/8/23 21:52
  • 上次更新2024/8/23 22:31:31
查看原帖
这两个写法有什么不同?
1073341
ivnilkkk楼主2024/8/23 21:52

rt.

我感觉没什么不同,但是放到代码里结果就不一样了。

码段 1:

void splay(int p, int &to) {
	for(int fa; fa = t[p].fa; rotate(p, to)) {
		if(p == to) break;
		if(fa != to) {
			if(which(p) == which(fa)) rotate(fa, to);
			else rotate(p, to);
		}
	}
}

码段 2:

void splay(int p, int &to) {
	for(int fa; (fa = t[p].fa) != to; rotate(p, to)) {
		if(p == to) break;
			if(which(p) == which(fa)) rotate(fa, to);
			else rotate(p, to);
	}
}
2024/8/23 21:52
加载中...