Enlazar Nodos?

Iniciado por BrendiisFox, 10 Septiembre 2015, 22:37 PM

0 Miembros y 1 Visitante están viendo este tema.

BrendiisFox

Hola a todos!
Necesitaba saber como enlazar nodos con listas enlazadas simples. Si alguien me podria explicar se los agradeceria ya que tengo que enlazar 81 O.o
Esto realizando un sudoku.

De antemano, muchas gracias.

kur79

Buenas es un poco follón tener que explicar escribiendolo, así que si te parece te dejo el código que hice el año pasado y si tienes alguna duda te lo intento contestar. Lo hice el año pasado al volver de fiesta así que no me acuerdo si funcionaba todo pero en general funciona.

https://www.dropbox.com/s/x4i6guhkf30e9be/listaEnlazada%20sin%20iteradores.h?dl=0

DarK_FirefoX

Solo por preguntar y por curiosidad:

¿Como utilizarás la lista enlazada simple en un Sudoku? ¿Backtracking? ¿Ramificación y poda?

Te recuerdo que el problema de la solución del Sudoku es NP-Completo

Salu2s

BrendiisFox

Hola, ni yo misma tengo idea. Es un proyecto que me han dejado de tarea y la verdad no se ni por donde empezar.

ivancea96

Si quieres representar el tablero, lo más fácil es
char tablero[9][9];

BrendiisFox

Si, lo se. Creeme que quise hacerlo con arreglo, seria mas sencillo. LE punto es que se me exige usar una lista enlazada, lo cual no le encuentro el sentido. No sabria como enlazar los 81 nodos.

en serio si me ayudan se los agradeceria.

ivancea96

Puedes hacer algo como un arreglo, pero con una lista.

Haz una lista de listas. ¿Eso vale?

BrendiisFox

Uhmm como haria eso?

Averigue que esto se puede realizar con dos ciclos for. No se que tan bien saldra.

ivancea96

Código (cpp) [Seleccionar]
Lista< Lista<char> > l;
for(int i=0; i<9; i++){
    l.push_back(Lista<char>());
    for(int j=0; j<9; j++)
        l.back().push_back(0);
}


Algo así. Depende de si lo haces en C, o en C++ orientado a objetos. Pero el concepto es ese. Es casi lo mismo que inicializar una matriz dinámica.