Flood fill算法介绍

Recursive_Flood_Fill_4_(aka).gif
如图,类似与dfs比较好理解。
四个方向分别递归就好。
   
     
  1. void floodFill(int x, int y, int color) { //三个参数,对应坐标和颜色
  2. area[x][y] = color;
  3. if (x > 0 && area[x - 1][y] == 0) floodFill(x - 1, y, color);//left
  4. if (y > 0 && area[x][y - 1] == 0) floodFill(x, y - 1, color);//up
  5. if (x < MAX_X && area[x + 1][y] == 0) floodFill(x + 1, y, color);//right
  6. if (y < MAX_Y && area[x][y + 1] == 0) floodFill(x, y + 1, color);//down
  7. }





 

你可能感兴趣的:(算法)