Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.25 KB | None | 0 0
  1.     private void checkPoint(Point point) {
  2.         if (point.x > 0 && !checked[point.x - 1][point.y])
  3.             checkNeighbour(point, new Point(point.x - 1, point.y));
  4.  
  5.  
  6.         if (point.x < matrixSize - 1 && !checked[point.x + 1][point.y])
  7.             checkNeighbour(point, new Point(point.x + 1, point.y));
  8.  
  9.  
  10.         if (point.y > 0 && !checked[point.x][point.y - 1])
  11.             checkNeighbour(point, new Point(point.x, point.y - 1));
  12.  
  13.  
  14.         if (point.y < matrixSize - 1 && !checked[point.x][point.y + 1])
  15.             checkNeighbour(point, new Point(point.x, point.y + 1));
  16.  
  17.  
  18.         checked[point.x][point.y] = true;
  19.     }
  20.  
  21.     // рассчитать расстоние до соседней точки
  22.     private void checkNeighbour(Point point, Point neighbour) {
  23.         // расстояние до текущей + расстоние до соседней
  24.         int distance = distances[point.x][point.y] + matrix[neighbour.x][neighbour.y];
  25.  
  26.         // если меньше - перезаписываем расстоние и родителя
  27.         if (distance < distances[neighbour.x][neighbour.y]) {
  28.  
  29.             distances[neighbour.x][neighbour.y] = distance;
  30.             parents[neighbour.x][neighbour.y] = point;
  31.         }
  32.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement