• Miércoles 1 de Mayo de 2024, 20:28

Autor Tema:  arbol binario en C#  (Leído 4540 veces)

luci2529

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
arbol binario en C#
« en: Miércoles 23 de Febrero de 2011, 00:03 »
0
buenas tengo que hacer un arbol genealogico utilzando arbol binario de busqueda ya tengo casi todo mi codigo pero tengo problemas con el metodo mostrar podrias ayudarme a ver cual es mi error desde ya muchas gracias
Código: C#
  1.   class ArbolGenealogico
  2.     {              //Atributos del Arbol
  3.  
  4.         NodoPersona raiz;
  5.         string[] L1;
  6.  
  7.         public NodoPersona Raiz
  8.         {
  9.             get { return raiz; }
  10.             set { raiz = value; }
  11.         }
  12.  
  13.         //Constructor de la Clase
  14.         public ArbolGenealogico()
  15.         {
  16.             raiz = null;
  17.             L1 = new string[10];
  18.             for (int i = 0; i < 10; i++)
  19.                 L1[i] = null;
  20.         }
  21.         //Metodos
  22.  
  23.  
  24.         public bool Insertar(string nmbre)
  25.         {
  26.             int ver;
  27.             NodoPersona puntero = raiz;
  28.             NodoPersona anterior = raiz;
  29.             bool resp;
  30.  
  31.             while (puntero != null)
  32.             {
  33.                 anterior = puntero;
  34.                 ver = string.Compare(nmbre, puntero.Nombre);
  35.                 if (ver >= 0)
  36.                 {
  37.                     puntero = puntero.Sigder;
  38.                     resp = true;
  39.                 }
  40.                 else
  41.                 {
  42.                     puntero = puntero.Sigizq;
  43.                     resp = true;
  44.                 }
  45.  
  46.             }
  47.             NodoPersona nvoNodo = new NodoPersona();
  48.             nvoNodo.Nombre = nmbre;
  49.             if (raiz == null)
  50.             {
  51.                 raiz = nvoNodo;
  52.                 resp = true;
  53.             }
  54.             else
  55.             {
  56.                 if (string.Compare(nmbre, anterior.Nombre) >= 0)
  57.                 {
  58.                     anterior.Sigder = nvoNodo;
  59.                     resp = true;
  60.                 }
  61.                 else
  62.                 {
  63.                     anterior.Sigizq = nvoNodo;
  64.                     resp = true;
  65.                 }
  66.             }
  67.             //resp = false;
  68.             return resp;
  69.         }
  70.         public bool Insertar(string nmbre,Label[] arbol)
  71.         {
  72.             int ver;
  73.             NodoPersona puntero = raiz;
  74.             NodoPersona anterior = raiz;
  75.             bool resp;
  76.  
  77.             while (puntero != null)
  78.             {
  79.                 anterior = puntero;
  80.                 ver = string.Compare(nmbre, puntero.Nombre);
  81.                 if (ver >= 0)
  82.                 {
  83.                     puntero = puntero.Sigder;
  84.                     resp = true;
  85.                 }
  86.                 else
  87.                 {
  88.                     puntero = puntero.Sigizq;
  89.                     resp = true;
  90.                 }
  91.  
  92.             }
  93.             NodoPersona nvoNodo = new NodoPersona();
  94.             nvoNodo.Nombre = nmbre;
  95.             if (raiz == null)
  96.             {
  97.                 raiz = nvoNodo;
  98.                 resp = true;
  99.             }
  100.             else
  101.             {
  102.                 if (string.Compare(nmbre, anterior.Nombre) >= 0)
  103.                 {
  104.                     anterior.Sigder = nvoNodo;
  105.                     resp = true;
  106.                 }
  107.                 else
  108.                 {
  109.                     anterior.Sigizq = nvoNodo;
  110.                     resp = true;
  111.                 }
  112.             }
  113.             return resp;
  114.             Mostrar(arbol);
  115.         }
  116.  

y este es mi metodo mostrar con el cual tengo el problemita
Código: C#
  1.    public void Mostrar(Label[] arbol)
  2.         {
  3.                 for (int j = 0; j < 10; j++)
  4.                 {
  5.                     arbol[j].Visible = false;
  6.                 }
  7.                 for (int i = 0; i<10; i++)
  8.                 {
  9.                     arbol[i].Text = L1[i].;
  10.                     arbol[i].Visible = true;
  11.                 }            
  12.             }
  13.