Listas enlazadas en C++
Wenas necesito codigo para poder introducir un nodo en una lista,eliminar el nodo,modificarlo,listarlo y hacer k si tengo 4 nodos de strings,pues esos nodos pasen por todas sus posiciones por ejemplo
perro gato leon
leon perro gato
gato leon perro
si podeir pasarme el codigo so los agradeceria,un saludo
perro gato leon
leon perro gato
gato leon perro
si podeir pasarme el codigo so los agradeceria,un saludo
Buenas.
En C++ tienes la clase list (no se si es ANSI o no, yo utilizo el Visual C++) que simplifica muchisimo el trabajo con listas enlazadas.
Para empezar tienes que incluir list y usar nombres de espacio std:
#include <list>
using namespace std;
Luego declaras las variables (tipo_dato = int o string o lo que quieras):
list <tipo_dato> lista; //La lista en si.
list <tipo_dato>::iterator nodo; //Para moverte por la lista.
Para introducir un nodo en la lista:
lista.push_back(variable_tipo_dato); //Al final.
lista.push_front(variable_tipo_dato); //Al principio.
Para recorrer la lista:
for(nodo = lista.begin(); nodo != lista.end(); nodo++)
Para eliminar un nodo. Primero recorres la lista hasta llegar al nodo que deseas eliminar y luego:
lista.erase(nodo);
Para modificar un nodo. Primero recorres la lista hasta llegar al nodo que deseas modificar y luego:
nodo = valor;
No se si estara muy claro, pero bueno para mas informacion mira en la ayuda de tu compilador la clase list y sus miembros.
Salu2.
En C++ tienes la clase list (no se si es ANSI o no, yo utilizo el Visual C++) que simplifica muchisimo el trabajo con listas enlazadas.
Para empezar tienes que incluir list y usar nombres de espacio std:
#include <list>
using namespace std;
Luego declaras las variables (tipo_dato = int o string o lo que quieras):
list <tipo_dato> lista; //La lista en si.
list <tipo_dato>::iterator nodo; //Para moverte por la lista.
Para introducir un nodo en la lista:
lista.push_back(variable_tipo_dato); //Al final.
lista.push_front(variable_tipo_dato); //Al principio.
Para recorrer la lista:
for(nodo = lista.begin(); nodo != lista.end(); nodo++)
Para eliminar un nodo. Primero recorres la lista hasta llegar al nodo que deseas eliminar y luego:
lista.erase(nodo);
Para modificar un nodo. Primero recorres la lista hasta llegar al nodo que deseas modificar y luego:
nodo = valor;
No se si estara muy claro, pero bueno para mas informacion mira en la ayuda de tu compilador la clase list y sus miembros.
Salu2.
