八数码(华容道)的盲目搜索和启发式搜索的代码!

大一自学数据结构,遇到了这么个问题,网上找不到C语言版本能运行的八数码的盲目搜索被启发式搜索的C语言代码,求!
问题:
1.八数码的盲目搜索
2.八数码的启发式搜索
八数码问题是指一个3X3的9格棋盘上放置1到8这8个数字,多余一个空格,空格周围的数字可以移动到空格中

例如输入0 2 3 1 8 4 7 6 5这九个数(0表示空格位置),按输入顺序排列为setp 0,通过若干步移动就可以到达最终状态setp 2:

setp 0

0       2       3

1       8       4

7       6       5

setp 1

1       2       3

0       8       4

7       6       5

setp 2

1       2       3

8       0       4

7       6       5
要求:
1.用C语言写(非c++)
2.多写注释(注释不写真的看不明白)
3.盲目搜索和启发式搜索分成两个C文件

这个是c语言的. 参考下
https://wenku.baidu.com/view/df72f42bbbd528ea81c758f5f61fb7360b4c2bb9.html

启发式搜索算法