کد برنامه ی جستوجوی دودویی به زبان C++

تازه ها

کد برنامه ی جستوجوی دودویی به زبان C++

نظرات ()

برنامه ای بنویسید که N تا عدد دریافت کرده و پس از جستوجوی دودویی ، عدد M را در آن پیدا کند.

( اگر M را پیدا کرد ، بگوید با چند مرحله جستوجو ، عدد M را پیدا کرده و اگر M را پیدا نکرد ، بنویسد "not found" و برنامه را تمام کند. )


 

کد این برنامه:

int main(){

    int n , m , num[10000] , l = 0 , r , mid , fi = 1;
    cin >> n;
    for(int i = 0; i < n; i++) cin >> num[i];
    cin >> m;
    r = n - 1;
    while(true){
        mid = (l + r)/ 2;
        if(num[mid] == m){ cout <<  fi << endl; return 0;}
        if(num[mid] > m){ l = mid + 1; }
        else if(num[mid] < m){ r = mid - 1; }

        if(r < l){ cout << "not found" << endl; return 0; }
        fi++;
    }

return 0;
}

©MReza-7.Blogfa.com