C sharp - Cuál es el error en el código?

 
Vista:

Cuál es el error en el código?

Publicado por AlbertoPérez (3 intervenciones) el 22/10/2018 00:12:34
Buenas tardes a todos. Por favor me pueden ayudar, lo que pasa es que al querer eliminar el primer nodo no lo elimina. Solo puedo eliminar los demás y no he identificado cuál sería el error en el programa. De antemano muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Listas
{
    class ListasCirculares
    {
 
        private Nodo Primero = new Nodo();
        private Nodo Ultimo = new Nodo();
 
 
        class Nodo
        {
            public int edad;
            public Nodo sig;
 
        }
 
 
 
        private Nodo raiz;
 
 
        public ListasCirculares()
        {
            raiz = null;
        }
 
        public void Insertar(int x)
        {
            Nodo aux = null;
            Nodo nuevo = new Nodo();
            nuevo.edad = x;
 
            if (raiz == null)
            {
                raiz = nuevo;
                raiz.sig = raiz;
            }
            else
            {
                aux = raiz;
                while (aux.sig != raiz)
                {
                    aux = aux.sig;
                }
                aux.sig = nuevo;
            }
            nuevo.sig = raiz;
        }
 
 
 
        public void Eliminar()
        {
            Nodo nuevo = new Nodo();
            nuevo = raiz;
            Nodo Anterior = new Nodo();
            Anterior = null;
            bool Encontrado = false;
            Console.Write("Ingrese el nodo a eliminar: ");
            int nodoBuscado = int.Parse(Console.ReadLine());
            if (raiz != null)
            {
                while (nuevo != null && Encontrado != true)
                {
                    if (nuevo.edad == nodoBuscado)
                    {
                        Console.WriteLine("\n El nodo con el dato ( {0} ) Encontrado\n", nodoBuscado);
 
                        if (nuevo == raiz)
                        {
                            raiz = raiz.sig;
                        }
                        else if (nuevo == Ultimo)
                        {
                            Anterior.sig = null;
                            Ultimo = Anterior;
                        }
                        else
                        {
                            Anterior.sig = nuevo.sig;
                        }
 
                        Console.WriteLine("\n Nodo eliminado\n");
                        Encontrado = true;
                    }
                    Anterior = nuevo;
                    nuevo = nuevo.sig;
                }
                if (!Encontrado)
                {
                    Console.WriteLine("\n Nodo no Encontrado\n");
                }
            }
            else
            {
                Console.WriteLine("\n La lista se encuentra vacía\n");
            }
        }
 
 
        public void Imprimir()
        {
            Nodo aux = raiz;
 
            do
            {
                Console.WriteLine("Edad " + aux.edad);
                aux = aux.sig;
            } while (aux != raiz);
        }
 
        static void Main(string[] args)
        {
            ListasCirculares NuevaPila = new ListasCirculares();
            NuevaPila.Insertar(18);
            NuevaPila.Insertar(19);
            NuevaPila.Insertar(20);
            NuevaPila.Imprimir();
            NuevaPila.Eliminar();
            NuevaPila.Imprimir();
            Console.ReadKey();
        }
    }
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Oscar
Val: 5
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Cuál es el error en el código?

Publicado por Oscar (3 intervenciones) el 28/10/2018 04:18:17
Al querer compilar no te manda algún warning o fatal error?

Hace falta correrlo para que el mismo sistema te diga los errores así tal cual pones el código si se complica
tendríamos que copiar todo el código e intentar replicarlo en nuestro IDE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar