c语言或c++图论算法推荐

图片说明

我的想法是
一个红色单元有4个顶点,相邻的单元是共享一个节点的
有没有什么算法是让他们往外面跑一圈,形成一个回路。就像从左上角出发,沿着边边走一圈。如果最终回到原点。确定他是一个破片
数据形式:

图片说明

前面第一个是单元号。3是part号。后面4个是节点号。

或者编辑怎样的动态数组如何存储这些数据。
查找单元、从单元找共享节点->接着从共享节点再找另一个单元。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^