Mavzu: Qidiruv va uning vazifasi. Binar qidiruv algoritmi va dtni tuzing. Misol. Ishdan maqsad


return mid; // Agar element x dan katta bo'lsa, // u faqat chap qismni oladi if



Download 224,16 Kb.
bet3/4
Sana10.07.2022
Hajmi224,16 Kb.
#772645
1   2   3   4
Bog'liq
Mavzu Qidiruv va uning vazifasi Binar qidiruv algoritmi va dtn

return 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

Download 224,16 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish