Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Oggetto dell'analisi - Algoritmo risolutivo

informatica



Oggetto dell'analisi:

ordinamento di liste



Algoritmo risolutivo


Dati in ingresso : un puntatore ad una lista non in ordine.


Dati in uscita : nessuno. Il risultato č un 545c28f a lista ordinata, ma questa non č il valore di ritorno.


Variabili di lavoro

ptr2 viene utilizzato per individuare l'elemento della lista che viene analizzato  di volta in volta.




com viene utilizzata per effettuare scambi di indirizzi.


changes indica se sono stati effettuati degli scambi all'interno della lista.



procedure ordina(var ptr : puntatore);

var ptr2,com:puntatore;

changes:boolean;

begin

if ptr <> nil then

repeat

ptr2:=ptr;

changes:=false;

while ptr2.pointer <> nil do

if ptr2.pointer^.info > ptr2^.info then

begin

com:=ptr2;

ptr2:=ptr2^.pointer;

ptr2^.pointer:=com;

changes:=true;

end;

until not changes;

end.


L'algoritmo lavora in questo modo:


1- controlla se la lista non sia vuota. In caso affermativo non effettua modifiche.

2- per ogni elemento della lista, controlla se l'elemento successivo sia maggiore di questo. In caso affermativo, avviene lo scambio di posizione.

3- ripete il punto 2 fino al momento in cui non sono avvenuti scambi.


Considerazioni

Il punto di forza di questo sistema di ordinamento sta nella sua semplicitā, ma comunque risente della sua lentezza che se applicato a liste di grandi dimensioni diventa problematica.





















Privacy




Articolo informazione


Hits: 1649
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024