Informática, pregunta formulada por bryanarguellov, hace 1 año

Crear un programa que genere una lista doblemente enlazada que comienza con los sgts menú opciones
1) Crear lista
2)insertar nodo
3)borrar nodo
4)recorrer hacia la izquierda( es decir que los números se me muevan hacia la izquierda)
5) recorrer hacia la derecha (así mismo como mencione en el literal 4 pero hacia la derecha)
6)salir
(Osea que en cada opción haga su proceso)
Ayudenme con ese programa porfavor sean serios con la respuesta...


hugojimi: es para mañana ?
bryanarguellov: si bro U.u
hugojimi: Asu bro
hugojimi: donde estas estudiando
hugojimi: yo ando de vacas
bryanarguellov: Estu. Ing en Tic's compa
bryanarguellov: en lo progrma soy mas o menos, me falta aprender mucho mas
bryanarguellov: pilas ayudame a solucionar correctamente ese programita ...
hugojimi: pense que tenias mas tiempo para entregar la tarea
bryanarguellov: me ayudaras?

Respuestas a la pregunta

Contestado por hugojimi
1

Respuesta:

#include <iostream>

using namespace std;

class Nodo {

private:

 

int valor;

public:

Nodo* siguiente;

Nodo(int val) {

 valor = val;

}

void establecer_sgte(Nodo &b) {

 siguiente = &b;

}

int obtener_dato() {

 return valor;

}

Nodo obtener_sgte() {

 return *siguiente;

}

};

class Pila {

private :

 

string nombrePila;

 

 

public:

Nodo* ultimo;

Nodo* primero;

Pila() {

 nombrePila = "lista";

}

void agregar_Elemento(int valor)

 {

  Nodo * nuevo = new Nodo(valor); // nuevo nodo

 

  if (estaVacia()) {// la Lista está vacía

   cout << "vacioooo \n";

   primero = ultimo = nuevo; // la nueva lista sólo tiene un nodo

  }

  else // la Lista no está vacía

   {

  cout << "no vacio \n";

  primero->establecer_sgte(*nuevo);

  primero = nuevo;

   }  

 }  

void eliminarElemento() {

 primero = primero->siguiente;

 

}

 

bool estaVacia() {

 return primero==0;

}

void imprimir() {

 Nodo * actual = ultimo;

  cout << "La lista es: \n";

 

  while (actual != 0) // obtiene los datos del elemento

  {

   cout << actual->obtener_dato() <<endl;

   actual = actual->siguiente;

   

 } // fin de while

 

  cout << "\n\n";

 

 // fin de la función

}

};

int main()

{

 

Pila pila;

pila.agregar_Elemento(5);

pila.agregar_Elemento(6);

pila.agregar_Elemento(7);

 

pila.imprimir();

}

Otras preguntas