Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - crenpeva

#1
Estimado,
al fin una respuesta clara y con conocimientos....ya la había planteado en otros foros, pero nadie fue capaz o se dio el tiempo de dar una explicación como la que me diste. Si entiendo algo de "POO", por lo que claramente se de lo que hablas, que al asignad una variable que es un objeto, no se le asigna un valor, sino que una referencia.
Necesitaba esta explicación ya que no sacaba nada con avanzar en mi curso sino lograba entender donde y porque se produce que "raiz" tiene todos los nodos.
Muchas gracias!
#2
Estoy iniciando en cSharp, pero tengo dudas con el ejercicio que les pegare mas abajo.  El ejercicio en si lo entiendo, lo debugeo con el visual studio y reviso como van cambiando las variables..o atributos de clase.
El atributo "raiz" es el que tiene tofos los notos, pero no entiendo porque, ya que en el código no veo donde le agregan nodos, si se le agregan al atributo "fondo".
Esto es lo que no entiendo, donde se le van agregando los nodos a "raiz".
Gracias.
------------------------------------------------------
Código: csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ListaTipoCola2
{
    class Cola
    {
        class Nodo
        {
            public int info;
            public Nodo sig;
        }

        private Nodo raiz, fondo;

        public Cola()
        {
            raiz = null;
            fondo = null;
        }

        public bool getVacia() {
            return (raiz == null);
        }

        public void Insertar(int info)
        {
            Nodo nuevo nuevo = new Nodo();
            nuevo.info = info;
            nuevo.sig = null;
            if ( getVacia() )
            {
                raiz = nuevo;
                fondo = nuevo;
            }
            else
            {
                fondo.sig = nuevo;
                fondo = nuevo;
            }
        }
    }
}