Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Listas Enlazadas

Estas en el tema de Listas Enlazadas en el foro de C/C++ en Foros del Web. Buena tarde gente Solicito ayuda para poder completar este trabajo, necesito modificar este codigo para que, al ejecutarse el programa, solicite continuamente la captura de ...
  #1 (permalink)  
Antiguo 27/09/2015, 17:21
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años, 8 meses
Puntos: 0
Pregunta Listas Enlazadas

Buena tarde gente

Solicito ayuda para poder completar este trabajo, necesito modificar este codigo para que, al ejecutarse el programa, solicite continuamente la captura de un valor que será insertado en la lista enlazada hasta que el usuario ya no desee continuar con dicho registro. Cabe mencionar que este código esta limitado a insertar 3 elementos en la lista. Hasta donde yo se, necesito insertar un while (true) en donde inicia el programa pero realmente no se como insertarlo, podrian ayudarme?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace listaenlazada
{
class Program
{
static void Main(string[] args)
{
ListaEnlazada lista = new ListaEnlazada();//Se crea el objeto lista enlazada
lista.Insertar(9);//Se inserta un nodo a la lista con un atributo de tipo entero
lista.Insertar(12);
lista.Insertar(4);
lista.Mostrar();//_Muestra la lista enlazada ordenada del menor al mayor de los tipos enteros
lista.Mostrar();
lista.Borrar(4);//Borra un nodo de la lista enlazada


lista.Mostrar();
Console.ReadKey();
}
}
class Nodo
{
public int valor;
public Nodo sig;
public Nodo(int v, Nodo s)
{
valor = v;
sig = s;
}
}
class ListaEnlazada
{
Nodo primero;
Nodo actual;
public ListaEnlazada()
{
}
public void Insertar(int v)
{
Nodo anterior;
if (ListaVacia() || primero.valor > v)
{
primero = new Nodo(v, primero);
}
else
{
anterior = primero;
while (anterior.sig != null && anterior.sig.valor <= v)
anterior = anterior.sig;
anterior.sig = new Nodo(v, anterior.sig);
}
}
public void Mostrar()
{
Nodo aux;
aux = primero;
while (aux != null)
{
Console.Write(aux.valor + "->");
aux = aux.sig;
}
Console.Write(" null");
Console.WriteLine();
}
public void Siguiente()
{
if (actual != null)
actual = actual.sig;
}
public void Primero()
{
actual = primero;
}
public void Borrar(int v)
{
Nodo anterior, nodo;
nodo = primero;
anterior = null;
while (nodo != null && nodo.valor < v)
{
anterior = nodo;
nodo = nodo.sig;
}
if (nodo == null || nodo.valor != v)
return;
else
{
if (anterior == null)
primero = nodo.sig;
else
anterior.sig = nodo.sig;
}
}
public bool ListaVacia()
{
if (primero == null)
return true;
return false;
}
public void Ultimo()
{
Primero();
if (!ListaVacia())
while (actual.sig != null)
Siguiente();

}
public bool Actual()
{
if (actual != null)
return true;
return false;
}
public int ValorActual()
{
return actual.valor;
}
}
}
  #2 (permalink)  
Antiguo 27/09/2015, 18:09
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 157
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Listas Enlazadas

hola.
para pedir los enteros puedes hacerlo de la siguiente meanera.

Código Java:
Ver original
  1. char letra;
  2. //S para seguir introduciendo nums y N para parar.
  3. do{
  4. cin>>numParaAgregarAlista;
  5. lista.agregar(numParaAgregarAlista);
  6. cin>>letra;
  7. }while(letra!='n');
  #3 (permalink)  
Antiguo 27/09/2015, 18:23
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Listas Enlazadas

Cita:
Iniciado por dacroma Ver Mensaje
hola.
para pedir los enteros puedes hacerlo de la siguiente meanera.

Código Java:
Ver original
  1. char letra;
  2. //S para seguir introduciendo nums y N para parar.
  3. do{
  4. cin>>numParaAgregarAlista;
  5. lista.agregar(numParaAgregarAlista);
  6. cin>>letra;
  7. }while(letra!='n');
Código HTML:
Ver original
  1. [HIGHLIGHT="PHP"]
[/HIGHLIGHT]





Antes que nada, agradezco la ayuda y tu respuesta pronta, acabo de intentar agregar el codigo pero me marca errores como "el nombre cin no existe en el texto". Apenas estoy aprendiendo, espero me tengan paciencia.

Saludos.
  #4 (permalink)  
Antiguo 28/09/2015, 02:55
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 2 meses
Puntos: 204
Respuesta: Listas Enlazadas

Un pequeño detalle que se te ha pasado por alto: Tu código es C#, mientras que este foro es exclusivamente para C/C++.

Tu pregunta debería ir en este otro foro

Un saludo.
  #5 (permalink)  
Antiguo 28/09/2015, 10:37
 
Fecha de Ingreso: marzo-2015
Mensajes: 11
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Listas Enlazadas

Tienes razon, una disculpa. Lo publicare en el foro que me comentas

Saludos.
  #6 (permalink)  
Antiguo 29/09/2015, 07:33
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 157
Antigüedad: 11 años, 7 meses
Puntos: 2
Respuesta: Listas Enlazadas

con cin>> me refiero a la entrada por teclado. Utiliza la de tu lenguaje.
Independientemente del lenguaje de programacion, la logica es la misma.

Etiquetas: ayuda!!, c#, enlazadas, listas, programacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:46.