تبلیغات
.::مهندسین نرم افزار دانشگاه آزاد::. - تابع جستجو ی دودویی (Binary Search) در++ C
.::مهندسین نرم افزار دانشگاه آزاد::.
FUTURE IS FOR US

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


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;
}

//end



طبقه بندی: سورس کد سی,سی++، 
برچسب ها: array، search، function، binary، binary search، c++، جستجو، جست و جو، باینری، دو دویی، جستجو باینری، جستجو دو دویی، دودویی، تابع، آرایه، SE01،
دنبالک ها: ALIREZA،
ارسال توسط .::علیرضا ارجمندنیا::.
آخرین مطالب
آرشیو مطالب
پیوند ها