9.6.                                257

int comp(T i, T j)
{

if (i == j)      //,  ==  <

//  
return 0 ;

else

return ( (i < j) ? -1 : 1 ) ;

}

//  const char*

int comp(const char* i, const char* j)

{

return (strcmpti, j));

}

 gen_tree<T> : : insert ()        -
 . ,     bnode<T>  -
 new.

template <class T>

void gen_tree<T>::insert(T d)

{

bnode<T>* temp = root;

bnode<T>* old;

if (root == 0) {

root = new bnode<T>(d, 0, 0) ;

return;

}

while (temp != 0) {
old = tempi-
if (comp (temp -> data, d) ==0) {
(temp -> count)++;

return;

}

if (comp(temp -> data, d) > 0)
t emp = t emp -> left;

else

temp = temp -> right;

}
if (compfold -> data, d) > 0)

old -> left = new bnode<T>(d, 0, 0);

else

old -> right = new bnode<T>(d, 0, 0);

}

 ,     -  
 .         -
 :