二分検索--C++コード実装


二分検索–C++コード実装
二分検索のコードを整理します.
#include 
#include 
#include 
#include 
#include "MyUtil.h"

using namespace std;

template
//      
//    ,                    
int binarySerach(T arr[],int n,T target){
    // [l-r]     target
    //                    
    //                    
    int l = 0,r = n-1;
    while(l <= r){
    //             int mid = (l+r)/2
        int mid = l+(r-l)/2;
        if(arr[mid] == target){
            return mid;
        }

        if(target > arr[mid]){
            l = mid+1;
        }else{
            r = mid-1;
        }
    }

    return -1;
}

int main()
{
	//           
    int n = 1000000;
    int* data =new int[n];
    //          
    for(int i = 0;i < n;i++){
        data[i] = i;
    }

    clock_t startTime = clock();
    for(int i = 0;i

このアルゴリズムの時間的複雑度はlog 2 Nである