2-amaliy topshiriq!
Download 1.14 Mb.
|
2-amaliy topshiriq!
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 // 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. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling