int Find(int xa){ int xb=xa; //把初始值赋给b while(xa!=fa[xa]){ xa=fa[xa]; //找到a的祖先节点 } while(xb!=xa){ //直到b==a为止 int temp=fa[xb]; //设一个中间变量为b的父亲节点 fa[xb]=xa; //直接让b的父亲节点为a的祖先节点 xb=temp; //b等于b的父亲节点 } return xa; }
2024-01-18 12:33:04
int Find(int xa){ int xb=xa; //把初始值赋给b while(xa!=fa[xa]){ xa=fa[xa]; //找到a的祖先节点 } while(xb!=xa){ //直到b==a为止 int temp=fa[xb]; //设一个中间变量为b的父亲节点 fa[xb]=xa; //直接让b的父亲节点为a的祖先节点 xb=temp; //b等于b的父亲节点 } return xa; }
下一篇:点和点之间的距离定义