none
ayuda con mi codigo RRS feed

  • Pregunta

  • hola tengo este codigo

    Console.BackgroundColor = ConsoleColor.Blue;
                Console.ForegroundColor = ConsoleColor.White;
                Console.Clear();
                short op;
                string busca;
                Nodo v;
                ListaEnlazada.Lista m = new ListaEnlazada.Lista();
                do
                {
                    Console.Clear();
                    Console.WriteLine("\tLISTAS ENLAZADAS\n");
                    Console.WriteLine("1. Ingresar");
                    Console.WriteLine("2. Mostrar");
                    Console.WriteLine("3. Buscar");
                    Console.WriteLine("4. Eliminar");
                    Console.WriteLine("5. Intercambiar");
                    Console.WriteLine("6. Recorrer un dato");
                    Console.WriteLine("7. Salir");
                    Console.Write("Ingrese opción: ");
                    op = Convert.ToInt16(Console.ReadLine());
                    switch (op)
                    {
                        case 1:
                            m.Ingresar();
                            break;
                        case 2:
                            Console.Clear();
                            m.Mostrar();
                            break;
                        case 3:
                            Console.Clear();
    
                            Console.Write("Ingrese valor a buscar: ");
                            busca = Console.ReadLine();
                            v = m.Buscar(busca);
                            if (v == null)
                                Console.WriteLine("No existe el Empleado");
                            else
                            {
                                Console.WriteLine("Nodo encontrado");
                                v.Mostrar();
                            }
                            Console.ReadLine();
                            break;
                        case 4:
                            if (m.Eliminar())
                                Console.WriteLine("Nodo eliminado...");
                            else
                                Console.WriteLine("Nodo no encontrado...");
                            Console.ReadLine();
                            break;
                        case 5:
    
                            Console.Clear();
    
                            break;
                        case 6:
    
                            Console.Clear();
    
                            break;
                        default:
                            Console.WriteLine("Proceso Terminado...");
                            break;
                    }
                } while ((op > 0) && (op < 7));
            }
        }
    
    
            namespace ListaEnlazada
        {
            class Lista
            {
                Nodo first, last;
    
                public Lista() { first = last = null; }
    
                public void Ingresar()
                {
                    string nom;
                    Console.Clear();
                    Console.WriteLine("Ingrese Datos ");
                    Console.WriteLine("**************");
                    Console.Write("Ingrese numero: ");
                    nom = Console.ReadLine();
                    Nodo i = new Nodo(nom);
                    Insertar(i);
                }
    
                public void Mostrar()
                {
                    Nodo i;
                    if (first != null)
                    {
                        i = first;
                        while (i != null)
                        {
                            i.Mostrar();
                            i = i.sig;
                        }
                    }
                    else
                    {
                        Console.WriteLine("lista vacia");
                    }
                    Console.ReadLine();
                }
    
                public Nodo Buscar(string b)
                {
                    Nodo i;
                    i = first;
                    while (i != null)
                    {
                        if (i.NOMBRE == b)
                            return (i);
                        else
                            i = i.sig;
                    }
                    return (null);
                }
    
                public bool Eliminar()
                {
                    string busca;
                    Nodo padre, hijo;
                    Console.Write("Ingrese numero del empleado a eliminar: ");
                    busca = Console.ReadLine();
                    padre = Eliminar(busca);
                    if (padre == last)
                        return (false);
                    if (padre == null)
                    {
                        hijo = first;
                        first = hijo.sig;
                    }
                    else
                    {
                        hijo = padre.sig;
                        padre.sig = hijo.sig;
                    }
                    if (hijo == last)
                        last = padre;
                    hijo = null;
                    return (true);
                }
    
                public Nodo Eliminar(string b)
                {
                    Nodo i, p;
                    i = first;
                    p = null;
                    while (i != null)
                    {
                        if (i.NOMBRE == b)
                            break;
                        else
                        {
                            p = i;
                            i = i.sig;
                        }
                    }
                    return (p);
                }
    
                private void Insertar(Nodo i)
                {
                    if (first == null)
                        first = i;
                    else
                        last.sig = i;
                    last = i;
                }
            }
        }
    
        public class Nodo
        { 
    
           
                private string Nombre;
    
                public Nodo sig;
                public Nodo(string nombre) { this.Nombre = nombre; this.sig = null; }
    
                public void Mostrar() { Console.WriteLine("numero :{0}", this.Nombre); }
    
                public string NOMBRE { get { return (Nombre); } }
    
            
    
        }
    }
    
    
    
    

    lo que no se es como programar la opción 5 y 6

    se  los agradecería mucho si me ayudan enserio 


    FAHS

    lunes, 10 de septiembre de 2018 22:35

Respuestas

  • hola

    Porque creas nodos de esa forma? porque no usaste un List<int> y vas agregando items de forma consecutiva

    o quizas usar las clase Queue o Stack para ir agregando y quitando segun FIFO o LIFO, digo si queria algo que mentenga una secuencia

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 11 de septiembre de 2018 7:15