// sorting integers by binary tree // working, but _ugly_ #include <iostream> using namespace std; struct node { int val; node *left; node *right; }; void insert( node **rp, int v); // insert into (sub)tree void print( node *r); // print (sub)tree int main() { node *root = 0; // in C: NULL == (void *)0 int i; while ( cin >> i ) { insert( &root, i); } print( root); return 0; } void print( node *r) { if ( r ) { print( r->left); cout << r->val << " "; print( r->right); } } void insert( node **rp, int v) { if ( *rp ) { insert( v < (*rp)->val ? &(*rp)->left : &(*rp)->right, v); } else { *rp = new node; (*rp)->left = (*rp)->right = 0; (*rp)->val = v; } }