Voglio ordinare i mesi dell'anno a partire da qualsiasi mese, ma gennaio deve presentarsi dopo dicembre se gennaio non è il punto di partenza. Posso farlo in un array o ho bisogno di una struttura dati speciale o di un algoritmo per farlo?
puoi farlo facilmente con un semplice array. [Dec,Jan,Feb,...Oct,Nov]
quindi puoi scorrere con month mod 12
e produrrà una lista ordinata che può avvolgere da dicembre a gennaio. Puoi semplicemente interrompere l'iterazione a gennaio se desideri che il mese sia completato.
Controlla questo codice Java-ish:
public void sortMonths(int START) {
// Jan = 0, ... , Dez = 11
int[] myArray = new int[12];
for (int i = START; i < 12; ++i) {
myArray[i - START] = i;
}
for (int i = 0; i < START; ++i) {
myArray[i] = i;
}
}
Molte selezionatrici consentono di fornire il proprio comparatore che determina l'ordinamento. Scrivi uno che implementa le tue regole e forniscile alla funzione di ordinamento.