输入一个由白和黑格子组成的方格图,用0表示白色格子,用1表示黑色格子,任选一个格子,请输出与它连通的所有黑色格子,怎样用C++实现这一运算呢?小编与大家分享判断经验。
工具/原料
C++
方法/步骤
1
首先,定义一个整型常量,用来控制方格图的元素个数。
2
定义两个整型数组,保存各元素的值,以及求连通块时组成的队列,定义一个布尔型变量,标记元素是否已搜索。
3
接着,定义一个数组,实现方块元素的上下左右搜索。
4
定义程序中要使用的各整型变量,并输入方格图的行数和列数。
5
输入方块图中,各方块的值,注意值只有0和1两种。
6
输入要求连通块的元素坐标,a为横坐标,b为纵坐标。
7
设置搜索队列的队首和队尾,并给队首的横坐标和纵坐标分别赋值。
8
用一则while循环,实现连通块的查找,条件为查找方块为黑色,并且搜索队列中还有元素。
9
循环中,实现连通块的查找。
10
最后,输出查找元素的所有连通块。
11
运行程序,输入方格图的行数和列数、所有方格的值、以及需查找连通块的方格坐标,电脑就会判断出所有的连通方块并输出。
注意事项
作者声明:本篇经验系本人辛勤劳动的原创成果,未经许可,谢绝转载。