并查集查找的递归与非递归代码c++

  • 非递归
int Find(int s[],int x){
	while(s[x]>=0){
		x=s[x];
	}
	return x;
}
  • 递归
int Find(int s[],int x){
	if(s[x]>=0){
		x=s[x];
		Find(s,x);
	}
	return x;
}

递归与非递归可以通过while循环转换。

你可能感兴趣的:(杂谈)