// Sigue un árbol 2-3-4 inserción por inserción. Cada argumento es una clave: tree_234_trace 10 20 30 5
#include <cstdlib>
#include <iostream>

#include "tree_234.h"

int main(int argc, char** argv) {
    Tree234<int> tree;
    for (int i = 1; i < argc; i++) {
        int key = std::atoi(argv[i]);
        tree.insert(key);
        tree.check_invariants();
        std::cout << "insertar " << key << ": " << tree.shape() << "\n";
        for (const std::string& node : tree.last_splits()) {
            std::cout << "    se divide " << node << "\n";
        }
    }
    std::cout << "niveles " << tree.levels() << ", divisiones " << tree.splits() << "\n";
    return 0;
}
