Posizione di un valore k all’interno di un array v.
public static int posizione1(double[] v, double k) { int risp=-1; for(int i=0; i < v.length; i++) if(v[i] == k) risp=i; return risp; }
Posizione di un elemento (la prima...)
public static int posizione2(double[] v, double k) { for(int i=0; i < v.length; i++) if(v[i] == k) return i; return -1; }
Per eliminare un'istruzione return trasformiamo il for() in while()
public static int posizione3(double[] v, double k) { int risp=-1; int i=0; while(i < v.length && risp == -1) { if(v[i] == k) risp=i; i++; } return risp; }
e semplifichiamo il while()
public static int posizione4(double[] v, double k) { int i=0; while(i < v.length && v[i] != k) i++; if(i == v.length) return -1; else return i; }
Se l'array è ordinato e l'elemento non compare la ricerca sequenziale può essere interrotta se l'elemento esaminato è maggiore di quello cercato
public static int posizione5(double[] v, double k) { int i=0; while(i < v.length && v[i] < k) i++; if(i == v.length || v[i] > k) return -1; else return i; }