Hola buenas!
Si he entendido bien tu lo que quieres es crear un arbol B desde cero verdad? (para una practica de universidad o similar imagino)
Yo el año pasado tuve que hacerlo con un arbol AVL y el tratamiento de todas sus operaciones, supongo que la idea es la misma solo que deberas aplicar los conceptos adecuados al B.
Mi estructura era mas o menos asi:
Clase Arbol:
Atributos:
Nodo _raiz;
Metodos:
insertar(Nodo n)
borrar (int clave)
recuperar(int clave)
Clase Nodo:
Atributos:
Nodo hijo_derecho
Nodo hijo_izquierdo
Nodo padre
int valor
int clave
Metodos:
Nodo obtener_padre()
void asignar_padre(Nodo n)
...
En tu caso puede que te interese que los nodos sean listas o arrays ya que en un B cada nodo es eso, una lista. Eso si, las rotaciones y el tratamiento de promocion/particion puede ser complejo si no se tiene cuidado.
Espero que te haya servido esta pequeña idea, Suerte!