#include <algorithm>    // por si se llegara a necesitar
#include <iostream>

struct nodo {
   int valor;
   nodo* izq;
   nodo* der;
};

void inserta(nodo*& p, int v) {
   if (p == nullptr) {
      p = new nodo{v, nullptr, nullptr};
   } else if (v < p->valor) {
      inserta(p->izq, v);
   } else {
      inserta(p->der, v);
   }
}

// función de práctica aquí

int main( ) {
   std::cout << "Elija la cantidad de nodos: ";
   int n;
   std::cin >> n;

   nodo* raiz = nullptr;
   std::cout << "Ingrese los valores: ";
   for (int i = 0; i < n; ++i) {
      int valor;
      std::cin >> valor;
      inserta(raiz, valor);
   }

   // llamar a función de práctica aquí (si devolviera algo, imprimir lo que devolvió)
}
