示例#1
0
        public void EliminarNodo(int x)
        {
            Nodo2 Actual   = Primero;
            Nodo2 Anterior = null;

            while (Actual != null)
            {
                if (Actual.Dato == x)
                {
                    if (Actual == Primero)
                    {
                        Primero = Primero.Siguiente;
                    }
                    else if (Actual == Ultimo)
                    {
                        Anterior.Siguiente = null;
                        Ultimo             = Anterior;
                    }
                    else
                    {
                        Anterior.Siguiente        = Actual.Siguiente;
                        Actual.Siguiente.Anterior = Anterior;
                    }
                }
                Anterior = Actual;
                Actual   = Actual.Siguiente;
            }
        }
        public void BuscarNodo()
        {
            Nodo2 Actual = new Nodo2();

            Actual = Primero;
            bool Encontrado = false;

            Console.WriteLine("Ingrese el Nodo A buscar");
            string respuesta = Console.ReadLine();
            int    Abuscar   = int.Parse(respuesta);

            if (Primero != null)
            {
                do
                {
                    if (Actual.Dato == Abuscar)
                    {
                        Encontrado = true;
                        Console.WriteLine("Nodo Encontrado");
                    }
                    Actual = Actual.Siguiente;
                }while (Actual != Primero && Encontrado != true);
                if (!Encontrado)
                {
                    Console.WriteLine("Nodo no encontrado");
                }
            }
            else
            {
                Console.WriteLine("Lista vacia");
            }
        }
示例#3
0
        public void EliminarNodo(int x)
        {
            Nodo2 Actual = Primero;

            do
            {
                if (Actual.Dato == x)
                {
                    if (Actual == Primero)
                    {
                        Primero          = Primero.Siguiente;
                        Primero.Anterior = Ultimo;
                        Ultimo.Siguiente = Primero;
                    }
                    else if (Actual == Ultimo)
                    {
                        Ultimo.Anterior  = Ultimo;
                        Ultimo.Siguiente = Primero;
                        Primero.Anterior = Ultimo;
                    }
                    else
                    {
                        Actual.Anterior.Siguiente = Actual.Siguiente;
                        Actual.Siguiente.Anterior = Actual.Anterior;
                    }
                }
                Actual = Actual.Siguiente;
            } while (Actual != Primero);
        }
        public void InsertarNodo()
        {
            Nodo2 nuevo = new Nodo2();

            Console.WriteLine("Ingrese el valor del nuevo nodo");
            string respuesta = Console.ReadLine();

            nuevo.Dato = int.Parse(respuesta);

            if (Primero == null)
            {
                Primero           = nuevo;
                Ultimo            = nuevo;
                Primero.Siguiente = Primero;
                Primero.Anterior  = Ultimo;
                Ultimo.Siguiente  = Primero;
                Ultimo.Anterior   = Ultimo;
            }
            else
            {
                nuevo.Siguiente = Primero;
                nuevo.Anterior  = Ultimo;

                Ultimo.Siguiente = nuevo;
                Ultimo           = nuevo;
                Primero.Anterior = Ultimo;
            }
        }
        public void Ruleta()
        {
            Nodo2 Actual = new Nodo2();

            Actual = Primero;
            Random Aleatorio     = new Random();
            int    NumeroElegido = Aleatorio.Next(0, 99);

            if (Primero != null)
            {
                Console.WriteLine("El numero Elegido es" + NumeroElegido);

                for (int f = 0; f < 10; f++)
                {
                    do
                    {
                        Console.WriteLine("\n\n " + Actual.Dato);
                        if (Actual.Dato == NumeroElegido)
                        {
                            Console.WriteLine("Ganaste!!!");
                        }
                        Actual = Actual.Siguiente;
                    }while (Actual != Primero);
                }

                if (Actual.Dato != NumeroElegido)
                {
                    Console.WriteLine("No tuviste suerte");
                }
            }
            else
            {
                Console.WriteLine("Sin datos");
            }
        }
示例#6
0
        public void BuscarNodo()
        {
            Nodo2 Actual = new Nodo2();

            Actual = Primero;
            bool Encontrado = false;

            Console.WriteLine("Ingrese el nodo a buscar");
            string resultado = Console.ReadLine();
            int    Abuscar   = int.Parse(resultado);

            if (Primero != null)
            {
                while (Actual != null && Encontrado == false)
                {
                    if (Actual.Dato == Abuscar)
                    {
                        Encontrado = true;
                        Console.WriteLine("\n Nodo Encontrado");
                    }

                    Actual = Actual.Siguiente;
                }
                if (!Encontrado)
                {
                    Console.WriteLine("\n Nodo No Encontrado");
                }
            }
            else
            {
                Console.WriteLine("Lista Vacia");
            }
        }
示例#7
0
        public void Imprimir()
        {
            Nodo2 Actual = Primero;

            while (Actual != null)
            {
                Console.WriteLine("" + Actual.Dato);
                Actual = Actual.Siguiente;
            }
        }
示例#8
0
        public void ModificarNodo(int x)
        {
            Nodo2 Actual = Primero;

            do
            {
                if (Actual.Dato == x)
                {
                    Console.WriteLine("Ingrese el nuevo valor");
                    Actual.Dato = int.Parse(Console.ReadLine());
                    Console.WriteLine("Dato modificado");
                }

                Actual = Actual.Siguiente;
            } while (Actual != Primero);
        }
        public void EliminarNodo()
        {
            Nodo2 Actual, Anterior = new Nodo2();

            Actual   = Primero;
            Anterior = null;
            bool Encontrado = false;

            Console.WriteLine("Ingrese el nodo a eliminar \n\n");
            string respuesta = Console.ReadLine();
            int    AEliminar = int.Parse(respuesta);

            if (Primero != null)
            {
                do
                {
                    if (Actual.Dato == AEliminar)
                    {
                        Encontrado = true;

                        if (Actual == Primero)
                        {
                            Primero          = Primero.Siguiente;
                            Primero.Anterior = Ultimo;
                            Ultimo.Siguiente = Primero;
                        }
                        else if (Actual == Ultimo)
                        {
                            Anterior.Siguiente = Primero;
                            Primero.Anterior   = Anterior;
                            Ultimo             = Anterior;
                        }
                        else
                        {
                            Anterior.Siguiente        = Actual.Siguiente;
                            Actual.Siguiente.Anterior = Anterior;
                        }
                    }
                    Anterior = Actual;
                    Actual   = Actual.Siguiente;
                }while (Actual != Primero && Encontrado == false);
            }
            else
            {
                Console.WriteLine("Lista vacia");
            }
        }
示例#10
0
        public int Extraer()
        {
            Nodo2 Actual = new Nodo2();

            Actual = Primero;
            if (Primero != null)
            {
                Primero          = Primero.Siguiente;
                Primero.Anterior = Ultimo;
                Ultimo.Siguiente = Primero;
                return(Actual.Dato);
            }
            else
            {
                return(int.MaxValue);
            }
        }
示例#11
0
        public void DesplegarLista()
        {
            Nodo2 Actual = new Nodo2();

            Actual = Primero;

            if (Primero != null)
            {
                do
                {
                    Console.WriteLine("\n\n" + Actual.Dato);
                    Actual = Actual.Siguiente;
                }while (Actual != Primero);
            }
            else
            {
                Console.WriteLine("Lista Vacia");
            }
        }
示例#12
0
        public void DesplegarLista2()
        {
            Nodo2 Actual = new Nodo2();

            Actual = Ultimo;

            if (Primero != null)
            {
                while (Actual != null)
                {
                    Console.WriteLine("\n\n" + Actual.Dato);
                    Actual = Actual.Anterior;
                }
            }
            else
            {
                Console.WriteLine("Lista Vacia");
            }
        }
示例#13
0
        public void InsertarNodo(int x)
        {
            Nodo2 nuevo = new Nodo2();

            nuevo.Dato = x;

            if (Primero == null)
            {
                nuevo.Siguiente = null;
                nuevo.Anterior  = null;
                Primero         = nuevo;
                Ultimo          = nuevo;
            }
            else
            {
                Ultimo.Siguiente = nuevo;
                nuevo.Anterior   = Ultimo;
                Ultimo           = nuevo;
                Ultimo.Siguiente = null;
            }
        }
示例#14
0
        public void InsertarNodo()
        {
            Nodo2 nuevo = new Nodo2();

            Console.WriteLine("\n Ingrese el valor del nodo a insertar \n\n");
            nuevo.Dato = int.Parse(Console.ReadLine());

            if (Primero == null)
            {
                nuevo.Siguiente = null;
                nuevo.Anterior  = null;
                Primero         = nuevo;
                Ultimo          = nuevo;
            }
            else
            {
                nuevo.Siguiente  = null;
                nuevo.Anterior   = Ultimo;
                Ultimo.Siguiente = nuevo;
                Ultimo           = nuevo;
            }
        }
示例#15
0
 public listacirculardoble2()
 {
     Primero = null;
     Ultimo  = null;
 }
示例#16
0
 public ListaCircularDoble()
 {
     Primero = null;
     Ultimo  = null;
 }
示例#17
0
 public listadoble2()
 {
     Primero = null;
     Ultimo  = null;
 }
示例#18
0
 public ListaDoble()
 {
     Primero = null;
     Ultimo  = null;
 }