2-amaliy topshiriq!




Download 1.14 Mb.
bet8/16
Sana14.11.2022
Hajmi1.14 Mb.
#30196
1   ...   4   5   6   7   8   9   10   11   ...   16
Bog'liq
modul-1 funcsion, Psixologiya amaliy 3, cry1
cout << WhatFind << " founded in element " << a << endl; else if (MyArray[b] == WhatFind)
cout << WhatFind << " founded in element " << b << endl; else
cout << "Sorry. Not found" << endl;
return 0; }
Binar qidirish
Binar qidirish algoritmi saralangan to’plamlar uchun qo’llaniladi. Chiziqli qidirish usuliga qaraganda effektivligi yuqori. Binar qidirishda qidirilayotgan kalit massiv o’rta elementi bilan solishtiriladi. Agar o’rta element qidirilayotgan element bo’lsa qidiruv tugatiladi, aks holda qidirish sohasi chap yoki o’ng tarafga o’zgartiriladi.
Masala 5. Binar qidirish algoritmi realizatsiyasi.
#include using namespace std;
// binar qidirish algoritmi funksiyasi
int Search_Binary (int arr[], int left, int right, int key)
{ int midd = 0; while (1)
{
midd = (left + right) / 2;
if (key < arr[midd]) // agar qidirilayotgan element yacheyka qiymatida kichik bo'lsa
right = midd - 1; // qidirish sohasi o'ng chegarasi belgilanadi else if (key > arr[midd]) // agar qidirilayotgan element yacheyka qiymatida katta bo'lsa
left = midd + 1; // qidirish sohasi chap chegarasi belgilanadi else // aks golda
return midd; // yacheyka indeksi qaytariladi
if (left > right) // chegaralar to'qnashishi natija topilmaganligini anglatadi
return -1;
}
}
int main()
{
const int SIZE = 12; int array[SIZE] = {}; int key = 0;
int index = 0; // yacheyka indeksi
for (int i = 0; i < SIZE; i++) // massivni to'ldirish
{
array[i] = i + 1; cout << array[i] << " | ";
}
cout << "\n\nSonni kiriting: "; cin >> key;
index = Search_Binary (array, 0, SIZE, key);

Download 1.14 Mb.
1   ...   4   5   6   7   8   9   10   11   ...   16




Download 1.14 Mb.