Код | #include <iostream.h> struct node { int data; node *left; node *right; }; typedef node* ptree;
ptree root;
void add (ptree * p, int i) { if (*p == NULL) { *p = new node(); (**p).data = i; (**p).left = NULL; (**p).right = NULL; } else if ((**p).data>i) add(&(**p).left,i); else add(&(**p).right,i); }
int how_much(ptree p, int level, int need) { if (p != NULL){ if (level == need) return 1; else if (level < need) return how_much((*p).left,level+1,need)+how_much((*p).right,level+1,need); } else return 0; }
int main() { for (int i=0;i<20;i++) add(&root,random(100)); cout << how_much(root,0,2); return 0; }
|
|