utilizarea icomparable în AVL copac

voturi
0
 public class Node : IComparable

{
    public object element;
    public Node left;
    public Node right;
    public int height;


    public Node(object data, Node L, Node R)
    {

        element = data;
        left = L;
        right = R;
        height = 0;


    }
    public Node(object data)
    {

        element = data;
        left = null;
        right = null;
        height = 0;


    }

    public int CompareTo(object obj)
    {
        return (this.element.CompareTo((Node)obj.element));


    }


}

în acest copac AVL vreau să compare nodul stânga și la dreapta și alte Methode echilibru pentru ea, dar la punctul de start nu are suport în compareTo în această linie de cod

 public int CompareTo(object obj)
    {
        return (this.element.CompareTo((Node)obj.element));


    }

deși am folosit interfață Icomaparable..anyone spune ceea ce lipsește în ea ea ??????????????

Întrebat 06/12/2011 la 21:02
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
0

Dvs. de elementproprietate este de tipul de obiect, astfel încât să nu pună în aplicare IComparable. In schimb ai putea face o clasă generică cu constrângerea că elementul de date de tip Ttrebuie să pună în aplicare IComparable<T>:

public class Node<T> : IComparable<Node<T>> where T: IComparable<T>
{
    public T element;
    public Node<T> left;
    public Node<T> right;
    public int height;


    public Node(T data, Node<T> L, Node<T> R)
    {

        element = data;
        left = L;
        right = R;
        height = 0;


    }
    public Node(T data)
    {

        element = data;
        left = null;
        right = null;
        height = 0;


    }

    public int CompareTo(Node<T> other)
    {
        return element.CompareTo(other.element);
    }
}
Publicat 06/12/2011 la 21:09
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more