定義:
ある意味では、1回実行して残りの添え字(開始と終了)/ 2を中間の量にし、比較して目的の数を見つけることです。このようなアルゴリズムにより、実行プロセスがN倍簡単になります。
正面に書かれている:私はブログで絶えず運動している小さな白人で、みんなに好かれることを望んでいます。問題があれば、私たちはコミュニケーションを取り、一緒に進歩することができます。
次に、私の考えを示す簡単な例を示します。読者がコードの意味を理解できることを願っています!!!!!!!
#include <stdio.h> #include <string.h> #include <Windows.h> #include <stdlib.h> int main() { int a、sz、left、right、mid; int num [] = { 1,2,3,4,5,6,7,8,9,10}; printf( "数値を入力してください:\ n"); scanf( "%d"、&a); sz = sizeof(num) / sizeof(num [0])-1; //配列の数を計算します left = 0; //配列の開始と終了の添え字値を定義します right = sz-1; while(left <= right)/ /ループ本体ループ、必要性読者は自分で理解できる { mid =(left + right)/ 2; if(num [mid]> a) { right = mid-1; } else if(num [mid] <a) { left = mid + 1; } else { printf( "見つかりました、添え字は:%d"、mid); break; } } if(left> right) { printf( "申し訳ありませんが見つかりません\ n"); } return 0; }