Beispiel #1
0
        public bool Iguales2(ListaEnlazada l)
        {
            bool iguales = true;

            if (this.CuentaElementos() == l.CuentaElementos())
            {
                Nodo  aux = this.pri;
                int[] numerosComprobados = new int[this.CuentaElementos()];
                int   contador           = 0;

                while (iguales && aux != null)
                {
                    int i = 0;
                    while (i < contador && numerosComprobados[i] != aux.dato)
                    {
                        i++;
                    }

                    if (i == contador)
                    {
                        numerosComprobados[contador] = aux.dato;
                        contador++;
                        iguales = ComparaNumeroElementos(aux.dato, l.CuentaOcurrencias(aux.dato));
                    }

                    aux = aux.sig;
                }
            }
            else
            {
                iguales = false;
            }

            return(iguales);
        }
        public static void mostrarMenuLista()
        {
            Console.Clear();
            int           val;
            int           opcion;
            ListaEnlazada miLista = new ListaEnlazada();

            while (true)
            {
                Console.Clear();
                Console.WriteLine("## LISTA ENLAZADA ##");
                Console.WriteLine("1) Agregar a la lista");
                Console.WriteLine("2) Imprimir la lista");
                Console.WriteLine("3) Buscar dato(s)");
                Console.WriteLine("4) Borrar nodo");
                Console.WriteLine("5) Volver al menu principial");
                opcion = ingresarValor();
                switch (opcion)
                {
                case 1:
                    Console.WriteLine("Ingresa el ENTERO que deseas agregar a la lista, de no ser entero se asignara el valor 0");
                    val = ingresarValor();
                    miLista.agregarNodo(val);
                    break;

                case 2:
                    Console.WriteLine("Imprimir la lista.... \n");
                    miLista.imprimir(miLista);
                    Console.ReadKey();
                    break;

                case 3:
                    Console.WriteLine("Ingresa el Valor que quieres buscar (retorna posicion en lista)");
                    val = ingresarValor();
                    miLista.buscarNodo(val, miLista);
                    Console.ReadKey();
                    break;

                case 4:
                    Console.WriteLine("Dame la poscion del nodo:");
                    val = ingresarValor();
                    miLista.borrarNodo(val);
                    Console.WriteLine("Ok.");
                    Console.ReadKey();
                    break;

                case 5:
                    Console.WriteLine("La lista se ha eliminado, pulsa cualquier tecla para continuar...");
                    Console.ReadKey();
                    return;

                default:
                    Console.Clear();
                    break;
                }
            }
        }