Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Funzioni ricorsive
public static String scomposizione(int n){
for (int i=2 ; i<=n ; i++){
if(n%i==0) return (i + " " + scomposizione(n/i)) ;
if(n==i)
return(n " primo ");
}
return "1";
}
public static int Fibonacci(int a){
if(a==1)return 1;
if(a==2)return 1;
return (Fibonacci(a-1) + Fibonacci(a-2));
}
public static int fattoriale(int a){
if(a==1) return 1;
else
return (a*fattoriale(a-1));
}
Ordinamento di vettori
Selection Sort
int vet[] = {5,3,2,1,0};
int min = 0;
int temp=0;
for(int i=0; i<vet.length-1; i++) {
for(int j=i+1 ; j<vet.length ; j++) {
if(vet[j] < vet[i]) min = j;
}
temp=vet[min];
vet[min]=vet[i];
vet[i]=temp;
}
for(int k=0 ; k< vet.length ; k++)
System.out.println(vet[k]);
}
}
Bubble Sort
Con questo secondo metodo, si confrontano gli elementi del vettore a due a due, partendo
dall'ultimo (anzi, dal penutltimo). Se si trovano due elementi in ordine "scorretto", essi
vengono scambiati di posto.
Selection Sort
L'idea la seguente: si trova l'elemento minimo (quello col valore pi piccolo di tutti) e lo si
sposta nell'elemento zero (il primo elemento) del vettore,
for(i=0; i<n-1; i++)
{
min = i;
for(j=i+1; j<n; j++)
if(vet[j] < vet[min]) //cambiare questa condizione per invertire l'ordine
min = j;
temp=vet[min];
vet[min]=vet[i];
vet[i]=temp;
}