我正在编写一个递归二进制搜索程序。这是我到目前为止所得到的。该程序的参数是它包含 2 个函数,主函数和第二个函数,它将对传递的值进行二进制排序。该程序有效,但它不递归搜索函数,我不认为它使用二进制搜索......
/* ex06_18.c */
#include <stdio.h>
#define SIZE 10
/* function prototype */
void someFunction( const int b[], int startIndex, int size );
/* function main begins program execution */
int main( void )
{
int a[ SIZE ] = { 8, 3, 1, 2, 6, 0, 9, 7, 4, 5 }; /* initialize a */
printf( "Answer is:\n" );
someFunction( a, 0, SIZE );
printf( "\n" );
return 0; /* indicates successful termination */
}
void someFunction( const int b[], int startIndex, int size )
{
if ( startIndex < size ) {
someFunction( b, startIndex + 1, size );
printf( "%d ", b[ startIndex ] );
} /* end if */
} /* end function someFunction */