コード例 #1
0
ファイル: ArbolB.cs プロジェクト: MarlonRoches/ProyectoE1
        /// <summary>
        /// inserta el nodo en el arbol y todos los subprocesos
        /// </summary>
        /// <param name="Nodo"></param>
        /// <param name="valor"></param>
        public void Insertar(NodoB Nodo, Vehiculo valor)
        {
            if (Raiz == null)
            {
                Raiz = new NodoB();
                Raiz.AsignarGrado(Raiz, 3);
                Raiz.Datos.Add(valor);
                Raiz.Id = 1;
                Nodo    = Raiz;
            }
            //ES HOJA

            else if (Hay_HIjos(Nodo) == false)
            {
                AgregarYOrdenarNodo(valor, Nodo);
            }
            //NO ES HOJA
            else if (Hay_HIjos(Nodo) == true)
            {
                var NodoHijo = new NodoB();
                NodoHijo = Nodo.Nodos[PosicionHijo(Nodo, valor)]; //busca lugar
                Insertar(NodoHijo, valor);
            }

            if (Disponibilidad(Nodo) == false)
            {
                Separar(Nodo);
            }
        }