スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

バイナリサーチ(1)



/* バイナリサーチのプログラム */
int bin_search(const int array[], int length , int key){

int left = 0; /* start key of index */
int right = length -1; /* end key of index */


do{
int middle = (left + right) / 2; /* calc of middle key */

if(middle == key)
return (middle);
else if(middle < key)
left = middle + 1;
else
right = middle - 1;

}while(left <= right);

return NOT_FOUND;
}

void display(int length, const int array[]){

int idx;
for(idx=0;idx < length; idx++){
printf("[%d]:%d\n", idx , array[idx]);
}
}

void main(){

int array[ARRAY_SIZE] = {1,2,3,4,5,6,7,8,9,10}; /* sorted array */
int value; /* search value */
int ret;


display(ARRAY_SIZE, array);

puts("探索値を入力して下さい");
scanf("%d", &value);

ret = bin_search(array, ARRAY_SIZE, value); /* 二分探索開始 */
if(ret == NOT_FOUND)
puts("見つかりませんでした");
else
printf("探索値は%d番目の数値です\n", ret);

}


スポンサーサイト
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。