|
return mid;
// Agar element x dan katta bo'lsa,
// u faqat chap qismni oladi
if
|
bet | 3/5 | Sana | 13.12.2023 | Hajmi | 1,25 Mb. | | #117905 |
Bog'liq malumotlar tuzilmasi 320, 1.«Elastiklik» termini 1885 yilda ilk bor kim tomonidan talab va, Google Docsda hujjatlarni birgalikda tahrirlash, Google Formsda onlayn savolnomalar hamda testlar yaratish, Konvertatsiya fayllarni bir formatdan boshqa formatga o’tkazish, 2-Mustaqil ta'lim, 23-may 3-topshiriq, Reja Pedagogik texnologiyalarning ilmiy asoslari, 4 вариант, TDA, Документ Microsoft Word, Ahror1, Kompyuter grafikasi # rgb rang modeli qaerda ishlatiladi, Doc150return mid;
// Agar element x dan katta bo'lsa,
// u faqat chap qismni oladi
if (arr[mid] > x)
return binarqidiruv(arr, l, mid-1, x);
// Yoki u faqat o'ng qismni oladi
return binarqidiruv(arr, mid+1, r, x);
}
// Bu yerga yetib keladi, qachonki
// x soni massiv ichidan topilmasa
return -1;
}
int main(void)
{
int arr[] = {2, 3, 4, 10, 40};
//massiv ni elementlar sonini topib olayabmiz
int n = sizeof(arr)/ sizeof(arr[0]);
int x = 10;
int natija = binarqidiruv(arr, 0, n-1, x);
(natija == -1)? printf("X soni massivni ichidan topilmadi.")
: printf("X soni massivning %d - elementi.",
natija);
return 0;
}
Dastur ishlaganda " X soni massivning 3 - elementi." degan yozuvni qaytaradi. Sababi massiv elementlari 0 dan boshlanadi.
Binar qidiruvning yana bir ko'rinishi Interative (ingliz tilida ) orqali ko'rsatamiz.
// C++ tilida interative binar qidiruv
#include
// Interative binar qidiruv funksiyasi. U massivdan
// x qaysi o'rinda turganini qaytaradi,
// yoki -1
int binarqidiruv(int arr[], int l, int r, int x)
{
while (l <= r)
{
int m = l + (r-l)/2;
// X o'rtadagi elementga tengmi yo'qmi tekshiramiz
if (arr[m] == x)
return m;
// Agar x katta bo'lsa, chapni hisobga olmaymiz
if (arr[m] < x)
l = m + 1;
// Aks holda o'ng tarafni hisobga olmaymiz
else
r = m - 1;
}
// Dastur bu yerga qachonki x element topilmaganda yetib keladi.
return -1;
}
int main(void)
{
int arr[] = {2, 3, 4, 10, 40};
// Elementlar sonini n ga o'zlashtirayabmiz
|
| |