當前位置:編程學習大全網 - 編程軟體 - 用C語言編寫非遞歸算法實現折半查找(二分查找)

用C語言編寫非遞歸算法實現折半查找(二分查找)

#include <stdio.h>

int* binary_search( int* a, int* b, int n )

{

int* m;

while ( b > a ) {

m = a + ( b - a ) / 2;

if ( *m < n )

a = m + 1;

else if ( *m > n )

b = m;

else

return m;

}

return NULL;

}

int main()

{

int a[] = { 1,3,5,7,9,11,13,15,17,19 };

int* p1, *p2;

p1 = binary_search( a, a + 10, 9 );

p2 = binary_search( a, a + 10, 8 );

if ( p1 ) {

printf( "find %d at pos:%d\n", 9, p1 - a );

}

if ( !p2 ) {

printf( "can't find value %d\n", 8 );

}

return 0;

}

  • 上一篇:和13歲女生發生性關系合法嗎
  • 下一篇:什麽是電子巡更系統?
  • copyright 2024編程學習大全網