之前写的作品了
一个娱乐性小程序。通过鼠标拖动结点会引起相关的其他结点的位置变化。
类似人拉扯一个网的效果
效果如下:
本程序主要是使用了图论。因为:Graph可以表示的形状更加多,更加灵活
数据存储结构:邻接表(部分吸收了十字链表的思想,顶点存储有逆邻接表,为了加速寻找入度边)
上图中的每个不同的形状,其实都隶属于一个图对象。
它们是不同的Connected Component(连通分量)
我封装的图泛型类执行效率不算高,
可以哈希查找的地方,为了方便我都只用了顺序表,
时间关系,目前不修改了。
影响形变的算法是BFS。
开发环境:
Qt Creator 2.8.1
Qt 4.7.4
可执行下载:http://download.youkuaiyun.com/detail/stevenkylelee/4369698
源代码下载:http://download.youkuaiyun.com/detail/stevenkylelee/4369699