c++ - 在 int main() [c++] 中实现递归函数
问题描述
我在我的程序中使用递归填充函数。程序如下
void floodfill(int x, int y, int &array[100][100])
{
if (array[x][y]==0)
{
array[x][y]=1;
floodfill(x+1, y, array);
floodfill(x, y+1, array);
floodfill(x-1, y, array);
floodfill(x, y-1, array);
}
}
int main()
{
int x= 1;// x and y is the point to start the floodfill
int y= 10;
int array[100][100] = {0};
floodfill(x, y, array);
}
我想知道是否有一种方法可以将这个递归函数编程为完全在 int 主循环内发生而不创建函数?
PS:-我知道定义一个函数然后在主程序中使用它是一种很好的编程习惯,但是我正在处理的项目的体系结构不允许我使用函数进行填充。因此我想要 int main 部分中的完整洪水填充程序。这也不是完整的代码。代码中未提供初始化数组值的部分。
解决方案
简短的回答:没有。
您需要传递参数才能使您的代码正常工作。Main 没有参数。
然后我觉得有必要问你为什么要这样做?将代码分解为执行特定任务的小而明确的部分是一种很好的编程实践。然后你将它隔离在一个函数中,并记录/描述该函数以供其他人了解它的作用。
因此,即使您可以这样做,您也确实应该避免这样做。
推荐阅读
- javascript - 如果键已经存在,map.set() 会覆盖值吗?
- diff - 在 Monaco Editor 中计算 3 路合并
- dart - 如何将 Dart 项目环境拆分为 prod、dev?
- three.js - 使用 alpha 遮罩其他对象的着色器
- amazon-web-services - Spring Cloud AWS 对 Spring Boot 2.4 的支持
- c++ - 高效的矩阵实现
- reactjs - 从useEffect控制台日志reactjs获取未定义的消息
- python - 客户端在循环中侦听和响应的服务器客户端不起作用(python)
- python - PySpark - 加载本地文件(图像)时路径不存在
- php - mysqli 持久连接是否可以解决:max_user_connections 限制?