Tambien podrias utilizar una Lista doblemente enlazada (si es que todabia se usan jaja) y ahi podris ir ordenandolo Como quieras.
Otra Opcion
Manejar N StringList uno para Aula. y ahi cargar el alumo correspondiente. No seria muy Distinto al tema de la Lista y los regis.
si mal no recuerdo la declaracion seria algo asi (hace mucho que no lo utilizo)
Código Delphi
[-]
Type
pAlumno:^TAlumno;
Talumno=record
pAntAlumno: pAlumno;
ID:Integer;
Nombre:string;
Apellido:String;
pSigAlumno: pAlumno;
end;
tPunt=^Aulas;
Aulas=record
pAnterior:TPunt;
NroAula:Integer;
Alumno:TAlumno;
pSiguiente:Tpun;
end;
Si te parece buena la idea. te comento como seria crear e insertar Los datos en la Lista.
Pero como te dije. con unos StringList tambien Podrias Ordenarlos, buscar y manipular la informacion.
saludos