private string DamePrimpos(Arbol.Nodo cabeza) { String cadena = ""; int dato = 0; int inf = 0; for (int i = 0; i < cabeza.PrimeraPos.GetLongLength(0); i++) { if (cadena == "") { cadena = cadena + "{" + cabeza.PrimeraPos[i].ToString(); } else { cadena = cadena + "," + cabeza.PrimeraPos[i].ToString(); } dato = i + 1; inf = (int)cabeza.PrimeraPos.GetLongLength(0); } if (dato == 1 || dato == inf) { cadena = cadena + "}"; } return(cadena); }
private void dibuja(Arbol.Nodo cabeza, Graphics dib) { if (cabeza.Padre != null) { dib.DrawLine(lapiz, cabeza.X + 20, cabeza.Y + 20, cabeza.Padre.X + 20, cabeza.Padre.Y + 20); } dib.DrawEllipse(pincel, cabeza.X, cabeza.Y, 35, 35); dib.FillEllipse(relleno, cabeza.X, cabeza.Y, 34, 34); dib.DrawString(cabeza.Id.ToString(), fuente, coloranul, cabeza.X, cabeza.Y); dib.DrawString(cabeza.EsAnulable.ToString(), fuente2, coloranul, cabeza.X, cabeza.Y + 35); string pripos = DamePrimpos(cabeza); string ultpos = DameUltipos(cabeza); dib.DrawString(pripos, fuente2, colorprimpos, cabeza.X - 50, cabeza.Y + 10); dib.DrawString(ultpos, fuente2, colorultipos, cabeza.X + 38, cabeza.Y + 10); }
private void LlenaArbol(Arbol.Nodo cabeza) { if (ClientSize.Width > pBArbol.Width && ClientSize.Height > pBArbol.Height) { dibujo = new Bitmap(ClientSize.Width, pBArbol.Height); } else { dibujo = new Bitmap(pBArbol.Width, pBArbol.Height); } Graphics g = Graphics.FromImage(dibujo); PintaArbol(cabeza, g); g.DrawImage(dibujo, 0, 0); pBArbol.Image = dibujo; }
private void PintaArbol(Arbol.Nodo cabeza, Graphics dib) { if (cabeza == null) { return; } if (cabeza.Padre == null) { cabeza.X = (pBArbol.Width / 2) + 350; cabeza.Y = 30; cabeza.visitado = true; } if (cabeza.Padre != null) { if (cabeza.visitado != true) { cabeza.X = cabeza.Padre.X - 75; cabeza.Y = cabeza.Padre.Y + 50; cabeza.visitado = true; } if (cabeza.Id == '#') { cabeza.X = cabeza.Padre.X + 75; } } PintaArbol(cabeza.Izquierdo, dib); if (cabeza.Derecho != null) { if (cabeza.Padre != null) { cabeza.Derecho.X = cabeza.X + 75; cabeza.Derecho.Y = cabeza.Y + 50; cabeza.Derecho.visitado = true; } PintaArbol(cabeza.Derecho, dib); } dibuja(cabeza, dib); }