Форум программистов, компьютерный форум CyberForum.ru

Нужен простой пример бинарного поиска - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переменные http://www.cyberforum.ru/cpp-beginners/thread419673.html
Помогите кто нибудь в коде объявить локальные переменные #include <conio.h> #include <iostream.h> #include <stdio.h> #include <fstream.h> int m,n,k,sum,q,prov,vb,vc,p; void razmer(int(&A), int &m, int &n) {
C++ Пояснение к задаче объяснить каждое действие Вот задача Объясните мне пожалуйста каждую строчку Программка оч классная но я не понимаю что там делается , если не сложно помогите пожалуйста #include <iostream> #include <cstdlib> #include <ctime> using namespace std; #define dimm_arr 9 // размер исходного массива http://www.cyberforum.ru/cpp-beginners/thread419669.html
C++ Сколько раз среди заданных символов встречается символ "+" и сколько раз символ "*"
Даны натуральное число n, символы S1, S2, ..., Sn. Подсчитать: сколько раз среди данных символов встречается символ "+" и сколько раз символ "*"
Исправьте мне ошибки в коде C++
Привет всем... посмотрите пожалуйста правильно я написал программу? Пример 1. #include <cstdlib> #include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv) { double x, y, z; cin >> x;
C++ Получение информации о частоте и длительности из звукового файла. http://www.cyberforum.ru/cpp-beginners/thread419649.html
Нужно получить информацию ТОЛЬКО о частотах и длительностях звукового файла. Откуда такую инфу проще достать? Мне кажется, что из PCM или WAV. А главное-как?!
C++ Отсортировать вставкой массив между элементами с номерами n1 и n2 Программа выводит два целых числа n1<n2< размера массива. Отсартировать вставкой массив между элементами с номерами n1 и n2 Помагите буду очень признательна =) Один вопрос - одна тема! подробнее

Показать сообщение отдельно
Oleg
0 / 0 / 0
Регистрация: 09.03.2012
Сообщений: 7
07.07.2014, 23:26     Нужен простой пример бинарного поиска
Вот пиши эту функцию (это для С++), где arr - указазтель на массив, size - размер-1, value - то, что ищем. Если элемента нет, то возвращаем -1.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template <class T>
int bsearch(T *arr, int size, T value)
{
    int l = 0;
    int r = size;
 
    while (l <= r)
    {
        int mid = l + (r - l) / 2;
                if (arr[mid] == value) return mid;
        if (arr[mid] < value) l = ++mid;
        if (arr[mid] > value) r = --mid;
    }
    return -1;
}
Примерение:

C++
1
2
3
4
5
int arr[] = {1,2,4,5,6,7,8,9};
int main()
{
    bsearch(arr, sizeof(arr)/sizeof(int) - 1, 4);
}
 
Текущее время: 22:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru