Heim  >  Artikel  >  php教程  >  Implementierung der binären Suche in C-Sprache

Implementierung der binären Suche in C-Sprache

高洛峰
高洛峰Original
2016-12-19 16:21:381384Durchsuche

Binäre Suche:

a ist das zu durchsuchende Array. Voraussetzung für die binäre Suche ist, dass die a-Daten sortiert sind. key ist die zu durchsuchende Variable und n ist die Länge des Arrays a.

int binär( int *a, int key, int n )
{
int left = 0, right = n - 1, mid = 0;
mid = ( left + right ) / 2;
while( left < right && a[mid] != key )
{
if( a[mid] < key )
left = mid + 1;
else if( a[mid] > key )
right = mid - 1;
mid = ( left + right ) / 2;
}
if( a[mid] == key ) return mid;
return -1;
}

Aufruf:

Suchen Sie die Position des Index von Array b in Array a (wenn a Wenn die Daten in b nicht vorhanden sind, verwenden Sie stattdessen -1.

int main()
{
int a[] = {1,2,3,4,5,6,7,8,9,12,13,45,67,89 ,99,101,111,123,134,565,677};
int b[] = { 677, 1, 7, 11, 67 };
int i;
for( i=0; i
{
print f( „ %dn“, binär( a, b[i], sizeof(a)/sizeof(a[0])));
}
return 0;
}



Weitere Artikel zur Implementierung der binären Suche in C-Sprache finden Sie auf der chinesischen PHP-Website

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Algorithmus für binäre SucheNächster Artikel:Algorithmus für binäre Suche