stacks ******the first line contains the size of the maze given as the number of rows and columns the two subsequent lines indicate the row and column indices of the starting and exit positions the remaining lines of text represent the maze itselfwith walls represented using hash symbol and open cells represented as blank spaces the maze is constructed from the text file using the buildmaze(function as shown in lines - of listing implementation the implementation of our maze adt will require the selection of data structure to represent the maze and to implement the backtracking operation used to find path the most obvious choice of data structure for storing the maze is - array the individual elements of the array will represent the cells of the maze strings containing single character can be used to represent the walls and tokens while the open cells are easily represented as null pointers the array representation of our sample maze is illustrated in figure figure the abstract view of maze physically represented using - array walls are indicated with an asterisk (*characterwhile open cells contain null reference the start and exit cells will be identified by cell position stored in separate data fields class definition partial implementation of the maze adt is provided in listing three constant class variables are defined and initialized to store the various symbols used to mark cells within the maze rememberclass variables are not data fields of the individual objectsbut are instead variables of the classwhich can be