Ciao!

allora io avrei dei dati che vanno messe in coda, secondo due chiavi: la primaria per ordine di categoria (possono essere 4 categorie), e la seconda chiave per ordine FIFO

cioè da questa coda dovrei tirare fuori prima i dati di una certa categoria, e tra pari categoria, il dato che è entrato per primo

Potrei usare qualche algoritmo per ordinare i dati già messi nella coda, ma se ancora dovessi crearla..?
Forse conviene fare 4 code diverse per le 4 categorie?