Ordinamenti.

Esistono vari metodi per ordinare un vettore in java. Tra i piú semplici algoritmi di ordinamento abbiamo il Bubble Sort che in italiano significa  ordinamento a bolle. Il meccanismo si basa sull 'idea di far emergere man mano  gli elementi minori all' inizio del vettore mentre  quelli maggiori si posizionano in fondo al vettore.

ESEMPIO:

package eserciziobubblesort;

import java.util.Scanner;
public class bubblesort {
public static void main(String[] args) {

// TODO Auto-generated method stub

int vet[]=new int[100];

for(int I = 0; I < vet.length; I++) {

Scanner A = new Scanner(System.in);

System.out.println("Immettere un numero intero");

vet[I] = A.nextInt();

}

for(int I = 0; I < vet.length; I++)  {

boolean V = false;

for (int K = 0; K < vet.length-1; K++) {

if(vet[K]>vet[K+1]) {  

int J = vet[K];                     

vet[K] = vet[K+1];

vet[K+1] = J;

V=true;

}

}
if(!V) break;

}

for(int I = 0; I < vet.length; I++) {

System.out.println(vet[I]);

}

//COMMENTO:paragoniamo il vettore ad un treno con numerosi vagoni, usiamo un ciclo iF per verificare se il valore del 'vagone'  vet[K] è maggiore del valore contenuto dal vagone successivo (vet[K+1]).Se è così, allora scambiamo i valori. In seguito usiamo una variabile booleana che ci indica se i valori si sono scambiati di posizione (V=true) o meno (V=false). Usiamo un costrutto di uscita forzata dal ciclo per arrestarlo [if(!V)break] e siccome V=false, ne deduciamo che nell'ultima interazione non ci sono stati scambi, quindi il vettore risulta ordinato.

(L'esercizio qui riportato, è stato svolto precedentemente dalla sottoscritta ed è presente nella cartella di google drive).

- Ora parleremo invece del  Selection Sort  che è un altro algoritmo di ordinamento. L' idea di base si fonda nel selezionare ad ogni iterazione il valore piú piccolo, e sostituirlo con quello che in quel momento occupa quella determinata posizione. In altre parole alla prima iterazione verrá selezionato il valore piú piccolo dell' intero vettore e sará scambiato con il vaolore che in quel momento occupa la prima posizione, poi alla seconda iterazione viene selezionato il secondo valore piú piccolo del vettore e sará scambiato con il valore che in quel momento occupa la seconda posizione, e cosí via fino a quando tutti gli elementi del vettore non sono collocati nella loro giusta posizione.

Poi abbiamo l' Insertion Sort il quale è un algoritmo di ordinamento che si basa sul concetto di ordinamento per inserzione (tipo come quando si mischiano i mazzi di carte).

Infine abbiamo Il Merge Sort (ordinamento per fusione) a differenza degli algoritmi visti in precedenza, é un algoritmo di ordinamento piú complesso, ma molto efficiente. Il meccanismo di ordinamento di questo algoritmo consiste nel suddividere un problema complesso in due o piú sotto-problemi piú semplici e poi si ricombinano le soluzioni trovate per ricostruire la soluzione del problema complessivo.

                                                                                Serena Giugliano IV A Scienze Applicate.

Comment Stream