#include #include #include #define N 100000 int linear_search(int data[], int n, int query) { int i; for (i=0; i= 0) { if (query < data[middle]) { // もし真中の値のほうが大きかったら right = middle-1; // 右端を middle の一個左に設定 } else if (query > data[middle]) {//もし真中の値のほうが小さかったら left = middle+1; // 左端を middle の一個右に設定 } else { // 発見! return middle; } middle = (right+left)/2; //真中を再計算 } return -1; } int main() { int data[N]; /* 対象データ */ int query[N]; /* data の中で探す数値の配列 */ int i; int id; long start, end; double time_used; for (i=0; i