C/C++の宿題を片付けます 99代目
at TECH
135:デフォルトの名無しさん
07/11/09 00:27:56
>>133
int binarysearch(int v){
/* ここにプログラムを追加 */
int l = 0, r = N-1,x;
while( l<=r )
{
x = (l + r) / 2;
printf("%d %d %d \n",l,x,r);
if( v == a[x] ) return 0; /* 見つかった */
if( v > a[x] ) l = x + 1;
if( v < a[x] ) r = x - 1;
}
return -1;
}
int interpolationsearch(int v){
/* ここにプログラムを追加 */
int l = 0, r = N-1,x;
while( l<=r )
{
x = l + (v - a[l]) * (r - l) / (a[r]-a[l]);
if(x < 0) return -1;
if(x >= N) return -1;
printf("%d %d %d \n",l,x,r);
if( v == a[x] ) return 0; /* 見つかった */
if( v > a[x] ) l = x + 1;
if( v < a[x] ) r = x - 1;
}
return -1;
}
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4817日前に更新/222 KB
担当:undef