عضویت العربیة English
پیامبر اکرم صلّی الله علیه و آله: هر که حسین را دوست بدارد، خداوند دوستدار او است. بحارالأنوار، ج43، ص261

پیاده سازی جستجو دودویی یا باینری (Binary Search) در C++

پیاده سازی جستجو دودویی یا باینری (Binary Search) در C++
دوشنبه 20 تیر 1390  07:05 ب.ظ

در این روش جستجو حتما باید آرایه مرتب شده باشد (پیش فرض صعودی) و سپس عنصر جستجو شونده با عنصر وسط آرایه مقایسه میشود. اگر برابر بود که جستجو پایان می پذیرد والا اگر بزرگتر بود، به نیمه ی بالایی آرایه رفته و مجددا با عنصر وسط آن مقایسه میشود و اگر کوچکتر باشد به نیمه ی پایین آرایه رفته و با عنصر وسط آن محدوده مقایسه صورت میگیرد. این عمل تا تایید شدن عنصر مورد نظر یا رسیدن به جایی که دیگر امکان نصف کردن آرایه وجود نداشته باشد، ادامه می یابد.
 

/*
Sepehr Mohammad
www.SepehrM.com 
*/
int binarySearch(int arr[], int len, int pat)
{
    int mid, low=0, high=len-1;
    while(low<=high)
    {
        mid=(low+high)/2;
        if(pat<arr[mid])
            high=mid-1;
        else if(pat>arr[mid])
            low=mid+1;
        else
            return mid;
    }
    return -1;
}

***به بهشت نمی روم اگر مــــــادرم آنجا نباشد***

آنگاه که تنها شدی و در جست جوی یک تکیه گاه مطمئن هستی ، بر من توکل نما . نمل/79

 

mehdigerdali

mehdigerdali
کاربر طلایی1
تاریخ عضویت : خرداد 1390 
تعداد پست ها : 5587
محل سکونت : خوزستان

پاسخ به: پیاده سازی جستجو دودویی یا باینری (Binary Search) در C++
پنج شنبه 23 تیر 1390  01:01 ب.ظ

سلام

ممنون دوست عزیز. موفق باشید

cryingsphere

cryingsphere
کاربر نقره ای
تاریخ عضویت : اسفند 1389 
تعداد پست ها : 360
محل سکونت : خراسان رضوی
دسترسی سریع به انجمن ها