Umidjon Esirgapov “Dasturlash I” fanidan yakuniy nazorat savollari


Massivlarning funksiyadan qaytarilishi



Download 356,54 Kb.
bet34/37
Sana02.02.2022
Hajmi356,54 Kb.
#425037
1   ...   29   30   31   32   33   34   35   36   37
Bog'liq
DI yakuniy nazorat savollari — 1-kurs 2019 (3)

Massivlarning funksiyadan qaytarilishi (returning arrays from functions).

Funksiyadan massiv ko`rinishidagi qiymatlarni olish uchun uni
parametr ko`rinishida funksiyaga yuborish kerak.
Biz funksiyani oddiy turdagi qiymat yoki ob’yekt qaytaruvchi sifatida e’lon
qilishimiz mumkin. Masalan:
// list dagi elementlar yig`indisi – sum ni chiqarish
int sum(const int list[], int hajm)



  1. Massivlarda qidirish (massivda qidiruv, chiziqli qidiruv, binar qidiruv).

Agar massiv saralangan bo`lsa, massivdan biror elementni
topish uchun chiziqli qidiruvdan ko`ra ikkilik qidiruvi ko`proq samara beradi.
Massivda qidiruv – kerakli elementni topish jarayonidir. Masalan, aniq bir
qiymat turining massiv tarkibidagi elementlardan birida mavjudligini tekshirish.
Kompyuter dasturlashda eng ko`p qidiruv masalasi uchraydi. Qidirishni amalga
oshirishga yo`naltirilgan ko`plab algoritmlar va ma’lumot tuzilmalari mavjud. Bu
qismda qidirishni amalga oshirishning ikki xil yondoshuvlari – chiziqli qidiruv va
ikkilik qidiruv o`rganiladi.
Chiziqli qidiruv:
int ChiziqliQidiruv(const int list[], int kalit, int hajm)
{
for (int i = 0; i < hajm; i++)
{
if (kalit == list[i])
return i;
}
return 1;
}

Ikkilik qidiruv yondashuvi:


Agar kalit markaziy elementdan kichik bo`lsa, qidirish massivning faqat
birinchi yarimtaligida davom ettiriladi;
Agar kalit markaziy elementga mos bo`lsa, qidirish brinchi urinishdayoq
to`xtatiladi;
Agar kalit markaziy elementdan katta bo`lsa, qidirish massivning faqat
ikkinchi yarimtaligida davom ettiriladi.

int IkkilikQidiruv(const int list[], int kalit, int listHajm)


{
int quyi = 0;
int yuqori = listHajm - 1;
while (yuqori >= quyi)
{
int markaz = (quyi + yuqori) / 2;
if (kalit < list[markaz])
yuqori = markaz - 1;
else if (kalit == list[markaz])
return markaz;
else
quyi = markaz + 1;
}
return-quyi - 1;
}


  1. Download 356,54 Kb.

    Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   37




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