Si es con propósitos de aprendizaje, creo que estas tratando de implementar un
heap para
administar la memoria, que es lo que usa el sistema operativo para manejar la memoria, cuando un programa pide memoria, liberar memoria y fragmentación de la memoria.