public void Insertar(Infectado valor) { Nodo nuevo = new Nodo(valor); if (Actual == null) { Actual = nuevo; } else { Nodo aux = Actual; Nodo anterior = null; while (aux != null && valor.apellido.CompareTo(aux.info.apellido) > 0) { anterior = aux; aux = aux.Siguiente; } if (anterior == null) { Actual = nuevo; nuevo.Siguiente = aux; aux.Anterior = nuevo; } else { anterior.Siguiente = nuevo; nuevo.Siguiente = aux; nuevo.Anterior = anterior; } } }
static void Main(string[] args) { int opcion = 0; ListaDoble l = new ListaDoble(); while (opcion != 4) { Console.Clear(); Console.WriteLine("1. Insertar"); Console.WriteLine("2. Eliminar"); Console.WriteLine("3. Mostrar"); Console.WriteLine("4. Salir"); opcion = int.Parse(Console.ReadLine()); switch (opcion) { case 1: Console.WriteLine("introduzca nombres"); string nombre = Console.ReadLine(); string segundoNombre = Console.ReadLine(); Console.WriteLine("introduzca primer apellido y segundo"); string apellido = Console.ReadLine(); string segundoApellido = Console.ReadLine(); Console.WriteLine("introduzca Edad"); int edad = int.Parse(Console.ReadLine()); Console.WriteLine("introduzca Sexo (M/F) "); string Sexo = Console.ReadLine(); Console.WriteLine("introduzca estado de salud"); string estado = Console.ReadLine(); Infectado a = new Infectado(nombre, segundoNombre, apellido, segundoApellido, edad, Sexo, estado); l.Insertar(a); break; case 2: Console.WriteLine("¿Que apellido desea eliminar"); string x = (Console.ReadLine()); l.EliminarApellido(x); Console.ReadKey(); break; case 3: l.Mostrar(); Console.ReadKey(); break; } } }
public Nodo(Infectado valor) { info = valor; Siguiente = null; }