Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Ordinamento date

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    29

    Ordinamento date

    Buongiorno a tutti. Sto facendo un programma che dovrebbe visualizzzare un grafico seguendo i dati da rappresentare in ordine cronologico. Ho immagazzinato le date in un vettore di GregorianCalendar. A me interessa ordinare tali date senza effetture scambi di posizione, ma immagazzinando l'ordine in un vettore di interi. Non riesco ad avere un'idea intelligente per risolvere tale problema, potreste aiutarmi???

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Senza alcuni presupposti di base (come ad esempio la garanzia che tutte le date siano diverse tra loro) dovrai provvedere a lavorare con una copia del vettore originale.

    Dovrai avere un array di interi da 0 a N-1 (N è il numero di elementi del vettore) costruito banalmente in modo già ordinato.

    Dovrai ordinare la copia del vettore e, man mano che su di esso effettui gli scambi, registri questi scambi anche nell'array di interi.

    Alla fine del processo, avrai il tuo array di interi che riflette esattamente la situazione delle posizioni del vettore come dovrebbero essere se fosse ordinato. In altre parole, scorrendo l'array dall'inizio alla fine ottieni le posizioni da prelevare nel vettore in modo da ottenere una raccolta ordinata.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    29
    Grazie per le indicazioni. Anche io avevo pensato ad una soluzione del genere, ma pensavo ce ne fossero altre. Proverò a farlo in questo modo.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Beh... se tu avessi la certezza che le date sono tutte diverse tra loro sarebbe ancora più semplice e non dovresti effettuare alcun confronto per l'ordinamento (si utilizzerebbe la tecnica del CountingSort, che ordina in tempo lineare).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.