La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ordinamento. Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente.

Presentazioni simili


Presentazione sul tema: "Ordinamento. Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente."— Transcript della presentazione:

1 Ordinamento

2 Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente (dal più piccolo al più grande o dalla A alla Z) o in ordine decrescente (dal più grande al più piccolo o dalla Z alla A). Esistono molte tecniche per l’ordinamento di un vettore (sort).

3 Ordinamento per Selezione Questo metodo si basa sul modo normalmente utilizzato per ordinare un insieme di elementi selezionando successivamente l’elemento più piccolo. Si cerca l’elemento più piccolo e lo si pone in prima posizione, poi si cerca nuovamente il più piccolo tra gli elementi che rimangono e così via.

4 7 5 9346 759346 579346 Si devono ordinare i seguenti elementi v(1) v(2) v(3) v(4) v(5) v(6) Confrontiamo il primo elemento con il secondo e poiché è maggiore si effettua lo scambio: Confrontiamo il primo (che è diventato 5) con il terzo (9) e poiché è minore niente scambio ; 579346 poi sempre il primo con il quarto (3) e poiché è maggiore si effettua lo scambio

5 3 79546 poi il primo con il quinto (4) e nessuno scambio 5 79 3 46 e con il sesto (nessuno scambio): 3 79546 3 79546

6 A questo punto viene reiterato il ciclo partendo dal secondo elemento (7): 3 79546 confrontiamo il secondo con il terzo (9) e poiché è più piccolo niente scambio; poi con il quarto (5) e si ha lo scambio; 3 79546 3 7 9 5 46 3 59746 quindi il secondo è diventato 5

7 che va confrontato con il quinto (4) e quindi si effettua lo scambio (il secondo è ora 4) 3 59746 3 5 97 4 6 349756 e ancora confronto il secondo con il sesto (6) e niente scambio: 349756

8 Ora si parte dal terzo elemento (9) e lo si confronta con i successivi: 3 45976 Partiamo dal quarto (9) che scambiamo con il quinto (7) 3 45796 e ora il quarto viene confrontato col sesto e viene scambiato: 3 45697 347956 345976 scambio con il quarto (7), poi scambio 7 con il quinto (5) e poi confronto con il sesto (6) e non c’è scambio:

9 3 45697 Infine partiamo dal quinto (9) che scambiamo col sesto: 3 45679 Il vettore risulta quindi ordinato in ordine crescente.

10 Cosa abbiamo fatto? Si è confrontato il primo elemento con il secondo, con il terzo e con i rimanenti elementi, se l’elemento era maggiore abbiamo effettuato lo scambio, se minore è rimasto inalterato. Ciclo Dopo aver effettuato la selezione per il primo elemento siamo passati al secondo poi al terzo ecc.. Sino al penultimo. Ciclo Per I da C+1 a n SE v(C)>v(I) ALLORA scambia v(I) con v(C) Fine SE Incrementa I Per C da 1 a n-1 Incrementa C n=dimensione del vettore

11 NOMEDESCRIZIONETIPOUTILIZZO Vett(1 to N)Vettore in cui viene effettuato l’ordinamento vettore di interi(Input) ContContatore per il primo ciclo, cerca il più piccolo per ogni posizione interolavoro IContatore per il secondo ciclo, che serve per effettuare gli scambi interolavoro TempVariabile che serve per effettuare lo scambio interolavoro tabella delle variabili

12 inizio For C = 1 to N -1 Vett(C) > Vett(I) Temp = Vett(C) V F Vett(C) = Vett(I) Vett(I) = Temp Fine For I = C +1 to N

13 Const N = 10 Dim Vett( 1 to N) As Integer Private Sub CMDOrdina_Click() Dim C As Integer Dim I as Integer Dim Temp As Integer For C = 1 To N-1 For I = C + 1 To N If Vett(C) > Vett(I) Then Temp = Vett(C) Vett(C) = Vett(I) Vett(I) = Temp End If Next I Next C End Sub Codice V.B.


Scaricare ppt "Ordinamento. Introduzione Una delle operazioni che si possono eseguire sui vettori, è quella di ordinare gli elementi del vettore in ordine crescente."

Presentazioni simili


Annunci Google