Red de conocimientos turísticos - Información de alquiler - Una lección de programación en C++. Por favor, denme algún consejo, hermanos.

Una lección de programación en C++. Por favor, denme algún consejo, hermanos.

Materiales de referencia/honker/archive/2007/04/28/23147.aspx

Si le resulta útil, bienvenido a adoptarlo~~~

ruta vacía (void)/*función laberinto*/

{

posición del elemento

int i,row,col,next_row,next_col,dir, top;

_Bool encontrado = 0;

mark[1][1] = 1,top = 0;/*Inicializar elementos de matriz de marcas y apilar*/

pila [0].fila = 1,pila[0].col = 1,pila[0].dir = 0

while(top > -1 && !found)

;

{

position = eliminar(&top); /*Eliminar el elemento superior de la pila,*/

fila = position.row /*Usar fila de variables intermedias, col, dir para esperar el juicio */

col = position.col;

dir = position.dir

while(dir < 4 && !found; )

{

next_row = fila + mover[dir].vert

next_col = col + mover[dir].horiz; p> if(next_row == EXIT_ROW && next_col == EXIT_COL)

encontrado = 1;

else if(!maze[next_row][next_col] && !mark[next_row][ next_col])/*Juzgar Si un paso es posible y no se ha dado, empújelo a la pila*/

{

mark[next_row][next_col] = 1; /p>

posición.fila = fila

posición.col = col

posición.dir = ++dir

agregar(⊤ ,position);/*Si es razonable, empújelo a la pila* /

row = next_row;/*continuar bajando*/

col = next_col;dir = 0; /p>

}

más

dir++;/*Cuando dir<4, cambia de dirección*/

}

if(found)/*Determinar si hay una salida*/

{

p>

printf("la ruta es:\n");

printf("fila col\n"); i = 0;i <= top;++i)

printf("%2d%5d",pila[i].fila,pila[i].col

printf("%2d% 5d\n",fila,col);

printf("%2d%5d\n",EXIT_ROW,EXIT_COL

}

}

}