Algoritmi di ricerca

Scrivi la classe SearchLast che applica una ricerca sequenziale per trovare l’ultima ricorrenza di args[0] in args[1;N] e ne stampa l’indice (partendo da 0). Ad esempio:

$ java SearchLast 3 1 7 5 9 67 4 7 3 7 9
7

Oppure:

$ java SearchLast 1 1 2 1 3 1 4 
4

Se il valore cercato non è presente il programma stampa il messaggio "Valore non trovato".

Scrivi la classe SearchFirst che applica una ricerca sequenziale per trovare la prima ricorrenza di args[0] in args[1;N] e ne stampa l’indice (partendo da 0). Ad esempio:

$ java SearchFirst 3 1 7 5 9 67 4 7 3 7 9
7

Oppure:

$ java SearchFirst 1 1 2 1 3 1 4 
0

Se il valore cercato non è presente il programma stampa il messaggio "Valore non trovato".

Scrivi la classe BinarySearch che applica una ricerca binaria per trovare args[0] nell’insieme ordinato rappresentato da args[1;N] e ne stampa l’indice (partendo da 0). Ad esempio:

$ java BinarySearch 3 1 2 3 5 7 8 10
2

Se il valore cercato non è presente il programma stampa il messaggio "Valore non trovato".