erlug
[Top] [All Lists]

[Erlug] binsearch

To: erlug@xxxxxxxxxxxxxx
Subject: [Erlug] binsearch
From: "Simone Saravalli" <dragonlair@xxxxxxxxx>
Date: Mon, 8 Apr 2002 17:03:41 +0200
Salve a tutti,
   anche se l'argomento può non interessare i più, mi piacerebbe che
qualcuno mi desse un parere e magari qualche consiglio su un
algoritmo di ricerca binaria da me ideato. Premetto che non ho mai visto
in vita mia un algoritmo di ricerca binario, so che esistono, ma non
avendone nessuno disponibile ne ho inventato uno.
Come vi sembra? Pietoso, accettabile, buono, magari utilizzabile per
qualche programma?
Sappiatemi dire

Ciao
Simone

PS spero di non aver inventato qualcosa di simile a programmi già
esistenti, io non ne sono al corrente, nel caso informatemi cmq.

void binsearch (int array[], int n, int inizio, int medio, int fine, int key) {
   int pivot, ipivot;
   ipivot=medio; pivot=array[ipivot];
   if ((key>=array[inizio]) && (key<=array[fine])) {
      if (key==pivot)
         printf ("\nElemento %d trovato in array [%d]\n", key, pivot-1);
      else if (key<pivot) {
         n=n/2;
         medio=inizio+((ipivot-inizio)/2);
         fine=ipivot-1;
         binsearch (array, n, inizio, medio, fine, key);
         }
      else {
         inizio=ipivot+1;
         fine=n;
         medio=inizio+((fine-inizio)/2);
         binsearch (array, n, inizio, medio, fine, key);
         }
      }
   else
      puts ("\nValore non trovato\n");
   }


<Prev in Thread] Current Thread [Next in Thread>