Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2022, 20:08   #1
Kin352
Новичок
Джуниор
 
Регистрация: 28.11.2022
Сообщений: 1
По умолчанию разобрать алгоритм

Можете пожалуйста разобрать и рассказать про этот алгоритм, как он работает, и что он делает?
Код:
#include <iostream>
using namespace std;
void input(int*& arr, int size) {
        for (int i = 0; i < size; i++) {
                arr[i] = rand() % 10;
        }
}
        void output(int*& arr, int size) {
        for (int i = 0; i < size; i++) {
                cout << arr[i] << " ";
        }
        cout << endl;
}
int* insertionSort(int arr[], int size) {
        for (int i = 0; i < size - 1; i++) {
                int buf = arr[i];
                for (int j = i + 1; j < size; j++) {
                        if (buf > arr[j]) {
                                arr[i] = arr[j];
                                arr[j] = buf;
                                buf = arr[i];
                        }
                }
        }
        return arr;
}
bool binarySearch(int arr[], int size, int find) {
        int* sortedArr = insertionSort(arr, size);

        int high=size, low=0;
        int middle=(high-low)/2;
        while (low<=high) {
                if (sortedArr[middle] == find) {
                        return true;
                }
                else if (sortedArr[middle] > find) {
                high = middle-1;
                }
                else if (sortedArr[middle] < find) {
                low = middle+1;
                }
                middle = (high + low) / 2;
        }
        return false;
}
int main() {
        //srand(time(NULL));
        int size;
        cin >> size;
        int* arr = new int[size];
        input(arr, size);
        output(arr, size);
        cout << "binarySearch: " << binarySearch(arr, size, 7);
        return 0;
}
Kin352 вне форума Ответить с цитированием
Старый 28.11.2022, 20:36   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

https://ru.wikipedia.org/wiki/%D0%A1...B0%D0%BC%D0%B8
https://ru.wikipedia.org/wiki/%D0%94...B8%D1%81%D0%BA
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разобрать код SadZhaba C# (си шарп) 0 02.03.2018 18:08
Помогите разобрать алгоритм kalumb Общие вопросы Delphi 3 09.01.2016 21:52
Помогите разобрать алгоритм(системы счисления) xPAL Свободное общение 1 03.10.2014 21:13
Разобрать код С++ Al-chan Помощь студентам 6 24.02.2013 21:15
Нужно разобрать готовый алгоритм решения задачи в среде Паскаль TaylorGang Помощь студентам 0 14.11.2011 22:17