Usuario
ayuda lista sencillamente enlazada

Pregunta
-
hola tengo este codigo
namespace pruebas { class Program { static void Main(string[] args) { 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("\t================\n"); Console.WriteLine("\tLISTAS ENLAZADAS\n"); Console.WriteLine("\t================\n"); Console.WriteLine("1. Ingresar"); Console.WriteLine("2. Mostrar"); Console.WriteLine("3. Buscar"); Console.WriteLine("4. Eliminar"); Console.WriteLine("5. 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 Numero"); 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; default: Console.WriteLine("Proceso Terminado..."); break; } } while ((op > 0) && (op < 5)); } } namespace ListaEnlazada { class Lista { Nodo first, last; public Lista() { first = last = null; } 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 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 bool Eliminar() { string busca; Nodo padre, hijo; Console.Write("Ingrese numero que desea 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); } } } }
me podrian ayudar para insertar un numero en medio y al inicio de la lista
FAHS