Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAntonina Vanni Modificato 9 anni fa
2
L’ordinamento per Selezione seleziona l’elemento con valore maggiore e lo scambia con il primo elemento del vettore. Tra gli N-1 elementi rimanenti viene poi ricercato nuovamente quello maggiore e scambiato con il secondo e così via fino all’ultimo elemento. Obiettivo:ottenere un insieme di elementi,ordinato in maniera decrescente
3
56382 Osservazione : Per implementare l’Algoritmo abbiamo bisogno di 2 indici : Uno che tiene conto della posizione in cui si trova l’elemento da ordinare ( primo, secondo, terzo, … ) Uno che permette di scorrere l’array alla ricerca del valore maggiore
4
56382 I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il primo elemento dell’array Indice1=0 Indice2=0
5
56382 I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il primo elemento dell’array Indice1=0 Indice2=1 A[0]<A[1] scambio
6
65382 I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il primo elemento dell’array Indice1=0 Indice2=1 A[0]<A[1] scambio
7
65382 I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il primo elemento dell’array Indice1=0 Indice2=2 A[0]>A[2] No scambio
8
65382 I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il primo elemento dell’array Indice1=0 Indice2=3 A[0]>A[3] scambio
9
85362 I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il primo elemento dell’array Indice1=0 Indice2=3 A[0]>A[3] scambio
10
85362 I passi da seguire sono i seguenti : 1)Posizionamento sul primo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il primo elemento dell’array Indice1=0 Indice2=4 A[0]<A[4] No scambio
11
85362 I passi da seguire sono i seguenti : 1)Posizionamento sul secondo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array Indice1=1 Indice2=1 A[1]=A[1] No scambio
12
85362 I passi da seguire sono i seguenti : 1)Posizionamento sul secondo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array Indice1=1 Indice2=2 A[1]>A[2] No scambio
13
85362 I passi da seguire sono i seguenti : 1)Posizionamento sul secondo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array Indice1=1 Indice2=3 A[1]<A[3] scambio
14
86352 I passi da seguire sono i seguenti : 1)Posizionamento sul secondo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array Indice1=1 Indice2=3 A[1]<A[3] scambio
15
86352 I passi da seguire sono i seguenti : 1)Posizionamento sul secondo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il secondo elemento dell’array Indice1=1 Indice2=4 A[1]>A[4] No scambio
16
86352 I passi da seguire sono i seguenti : 1)Posizionamento sul terzo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array Indice1=2 Indice2=2 A[2]=A[2] No scambio
17
86352 I passi da seguire sono i seguenti : 1)Posizionamento sul terzo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array Indice1=2 Indice2=3 A[2]<A[3] scambio
18
86532 I passi da seguire sono i seguenti : 1)Posizionamento sul terzo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array Indice1=2 Indice2=3 A[2]<A[3] scambio
19
86532 I passi da seguire sono i seguenti : 1)Posizionamento sul terzo elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il terzo elemento dell’array Indice1=2 Indice2=4 A[2]>A[4] No scambio
20
86532 I passi da seguire sono i seguenti : 1)Posizionamento sul quarto elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il quarto elemento dell’array Indice1=3 Indice2=3 A[3]=A[3] No scambio
21
86532 I passi da seguire sono i seguenti : 1)Posizionamento sul quarto elemento dell’array 2)Ricerca dell’elemento più grande e scambio con il quarto elemento dell’array Indice1=3 Indice2=4 A[3]>A[4] No scambio
22
#include Using namespace std; int x,N=5,temp; int V[N]; main() { for (int i=0;i<N;i++) // inserimento del vettore { cout<<"Inserire l'elemento: "<<i+1<<" "; cin>>V[i]; }
23
for (int i=0;i<N-1;i++) // dal primo al 5° elemento { x = i+1; do { if (V[ i ] <[ i+1 ]) { // effettuare scambio degli elementi temp = V[ i ]; V[ i ] = V[ x ]; V[ x ] = temp; } x++; } while( x < N ); } // visualizzazione del vettore ordinato mediante l'algoritmo cout<<"Il vettore ordinato e\' il seguente : "<<endl; for (int i=0;i<N;i++) cout<<V[i]<<endl; } // chiude il main Con FOR e WHILE
24
for (int i=0;i<N-1;i++) // dal primo al 5° elemento { for (int x=i+1;x<N;x++) // dal secondo al 6° elemento { if (V[ i ] <[ x ]) { // effettuare scambio degli elementi temp = V[ i ]; V[ i ] = V[ x ]; V[ x ] = temp; } // visualizzazione del vettore ordinato mediante l'algoritmo cout<<"Il vettore ordinato e\' il seguente : "<<endl; for (int i=0;i<N;i++) cout<<V[i]<<endl; } // chiude il main Con 2 cicli FOR annidati
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.