static void Main(string[] args) { ListaDE lista = new ListaDE(); ControladorPrincipal.Menu(lista); Console.Clear(); }
public static void MP_T3_SHIFT(ListaDE lista) { int datoExtraido = lista.Shift(); Console.WriteLine("Dato extraído: {0}", datoExtraido); Thread.Sleep(1500); }
// MENUS Y CAPTURA DE TECLAS //---------------------------------------------- public static void Menu(ListaDE lista) { ConsoleKeyInfo tecla; do { Vista.MenuInsertar(lista); tecla = Console.ReadKey(true); switch (tecla.Key.ToString()) { case "D1": MI_T1_ORDENADO(lista); break; case "D2": MI_T2_FRENTE(lista); break; case "D3": MI_T3_ATRAS(lista); break; } } while (tecla.Key != ConsoleKey.Escape); }
public static void MP_T2_POP(ListaDE lista) { int datoExtraido = lista.Pop(); Console.WriteLine("Dato extraído: {0}", datoExtraido); Thread.Sleep(1500); }
public static void MP_T5_BORRAR(ListaDE lista) { bool leido = true; Console.Write("¿Qué index quieres borrar? "); int index = Helpers.LeerNumero(ref leido); bool seBorro = leido? lista.Borrar(index) : false; Console.WriteLine("¿Dato en index {0} borrado?: {1}", index, seBorro? "ÉXITO :)" : "FRACASO!!"); Thread.Sleep(1500); }
public static void MP_TC_OBTENER(ListaDE lista) { bool leido = true; Console.Write("Dame el índice del dato a obtener: "); int index = Helpers.LeerNumero(ref leido); int dato = lista.EnIndex(index); if (leido) { Console.WriteLine("Se encontró {0} en el índice {1}!", dato, index); } Thread.Sleep(1500); }
// MANEJO DE ACCIÓN POR TECLA PRESIONADA //-------------------------------------------------------------- public static void MP_T1_PUSH(ListaDE lista) { bool leido = true; Console.Write("Dame dato para empujar: "); int dato = Helpers.LeerNumero(ref leido); if (leido) { lista.Push(dato); } if (!leido) { Thread.Sleep(1500); } }
public static void MP_TB_BUSCAR(ListaDE lista) { bool leido = true; Console.Write("Dato que quieres buscar: "); int dato = Helpers.LeerNumero(ref leido); int idxAt = lista.Buscar(dato); if (leido) { Console.WriteLine("El dato {0} {1}", dato, (idxAt < 0)? "no fue encontrado" : "se encuentra en el índice " + idxAt); } Thread.Sleep(1500); }
public static void MP_T4_UNSHIFT(ListaDE lista) { bool leido = true; Console.Write("Dame dato para encolar: "); int dato = Helpers.LeerNumero(ref leido); if (leido) { lista.Unshift(dato); } if (!leido) { Thread.Sleep(1500); } }
public static void MI_T3_ATRAS(ListaDE lista) { bool leido_a = true, leido_b = true; Console.Write("¿Detrás de qué índice vas a insertar? "); int index = Helpers.LeerNumero(ref leido_a); Console.Write("Dame el dato a insertar: "); int dato = Helpers.LeerNumero(ref leido_b); bool exito = (leido_a && leido_b)? lista.InsDetrasDe(index, dato) : false; Console.WriteLine("Inserción del dato {0} atrás del índice {1} {2}", dato, index, exito? "EXITOSA!" : "FRACASÓ!!"); Thread.Sleep(1500); }
public static void MenuInsertar(ListaDE lista) { Console.Clear(); Console.WriteLine("REPRESENTACIÓN VISUAL"); Console.WriteLine("---------------------\n"); lista.Mostrar(); Console.WriteLine("\nPresione cualquiera de las siguientes teclas o"); Console.WriteLine("la tecla [ESC] para volver al menú principal:\n"); Console.WriteLine(".---. .---. .---."); Console.WriteLine("| 1 | | 2 | | 3 |"); Console.WriteLine("'===' '===' '==='"); Console.WriteLine("Insertar Insertar Insertar"); Console.WriteLine("Ordenado Frente a Detrás de\n"); }
// MANEJO DE ACCIÓN POR TECLA PRESIONADA //-------------------------------------------------------------------- public static void MI_T1_ORDENADO(ListaDE lista) { bool leido = true; Console.Write("¿Qué dato quieres insertar? "); int dato = Helpers.LeerNumero(ref leido); if (leido) { lista.InsEnSuLugar(dato); } if (!leido) { Thread.Sleep(1500); } }
public static void MP_T0_SWAP(ListaDE lista) { bool leido_a = true, leido_b = true; Console.Write("Índice (a) para intercambiar: "); int index_a = Helpers.LeerNumero(ref leido_a); Console.Write("Índice (b) para intercambiar: "); int index_b = Helpers.LeerNumero(ref leido_b); bool swapped = (leido_a && leido_b)? lista.Swap(index_a, index_b) : false; Console.WriteLine("Intercambio entre índices {0} y {1} {2}!!", index_a, index_b, swapped? "EXITOSO" : "FRACASÓ"); Thread.Sleep(1500); }
public static void MP_TA_EDITAR(ListaDE lista) { bool leido_a = true, leido_b = true; Console.Write("Índice a reemplazar: "); int index = Helpers.LeerNumero(ref leido_a); Console.Write("Dato nuevo en índice {0}: ", index); int dato = Helpers.LeerNumero(ref leido_b); bool reemplazado = (leido_a && leido_b)? lista.Reemplazar(index, dato) : false; Console.WriteLine("Reemplazo {0}", reemplazado? "EXITOSO!" : "FRACASÓ!!"); Thread.Sleep(1500); }
public static void MenuPrincipal(ListaDE lista) { Console.Clear(); Console.WriteLine("REPRESENTACIÓN VISUAL"); Console.WriteLine("---------------------\n"); lista.Mostrar(); Console.WriteLine("\nPresione cualquiera de las siguientes teclas o"); Console.WriteLine("presione la tecla [ESC] para salir del programa:\n"); Console.WriteLine(".---. .---. .---. .---. .---. .---. .---."); Console.WriteLine("| 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 |"); Console.WriteLine("'===' '===' '===' '===' '===' '===' '==='"); Console.WriteLine("Push Pop Shift Unshift Borrar Limpiar Insertar\n"); Console.WriteLine(".---. .---. .---. .---. .---. .---."); Console.WriteLine("| 8 | | 9 | | 0 | | A | | B | | C |"); Console.WriteLine("'===' '===' '===' '===' '===' '==='"); Console.WriteLine("Ordenar Reversa Swap Editar Buscar Obtener\n"); }
// MENUS Y CAPTURA DE TECLAS //---------------------------------------------- public static void Menu(ListaDE lista) { ConsoleKeyInfo tecla; do { Vista.MenuPrincipal(lista); tecla = Console.ReadKey(true); switch (tecla.Key.ToString()) { case "D1": MP_T1_PUSH(lista); break; case "D2": MP_T2_POP(lista); break; case "D3": MP_T3_SHIFT(lista); break; case "D4": MP_T4_UNSHIFT(lista); break; case "D5": MP_T5_BORRAR(lista); break; case "D6": lista.Limpiar(); break; case "D7": ControladorInsertar.Menu(lista); break; case "D8": lista.Ordenar(); break; case "D9": lista.Reversa(); break; case "D0": MP_T0_SWAP(lista); break; case "A": MP_TA_EDITAR(lista); break; case "B": MP_TB_BUSCAR(lista); break; case "C": MP_TC_OBTENER(lista); break; } } while (tecla.Key != ConsoleKey.Escape); }
public int Buscar(int dato) { return(ListaDE.Buscar(dato, raiz)); }