Лабораторная работа, подготовленная бокиевым бобирем, студентом группы ки-12-20(рус)(иностранные) факультета "КИ" загородного филиала тату, по наукам структур данных и алгоритмов задачи по лаборатории-2-3


Download 143.92 Kb.
Sana11.01.2023
Hajmi143.92 Kb.
#1087740
TuriЛабораторная работа
Bog'liq
2-Я ЛАБОРАТОРНАЯ РАБОТА


2-Я ЛАБОРАТОРНАЯ РАБОТА, ПОДГОТОВЛЕННАЯ БОКИЕВЫМ БОБИРЕМ, СТУДЕНТОМ ГРУППЫ КИ-12-20(РУС)(ИНОСТРАННЫЕ) ФАКУЛЬТЕТА "КИ" ЗАГОРОДНОГО ФИЛИАЛА ТАТУ, ПО НАУКАМ СТРУКТУР ДАННЫХ И АЛГОРИТМОВ
Задачи по лаборатории-2-3
4. Используя метод последовательного и двоичного поиска, найдите элемент и количество сравнений из массива A.
#include

using namespace std;


int Search_Binary (int arr[], int left, int right, int key)
{
int midd = 0;
while (1)
{
midd = (left + right) / 2;
if (key < arr[midd])
right = midd - 1;
else if (key > arr[midd])
left = midd + 1;
else
return midd;
if (left > right)
return -1;
}
}
int main()
{
setlocale (LC_ALL, "rus");
const int SIZE = 12;
int array[SIZE] = {};
int key = 0;
int index = 0;
for (int i = 0; i < SIZE; i++)
{
array[i] = i + 1;
cout << array[i] << " | ";
}
cout << "\n\nВведите любое число: ";
cin >> key;
index = Search_Binary (array, 0, SIZE, key);
if (index >= 0)
cout << "Указанное число находится в ячейке с индексом: " << index << "\n\n";
else
cout << "В массиве нет такого числа!\n\n";
return 0;
}

Download 143.92 Kb.

Do'stlaringiz bilan baham:




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