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

Нужно немного разобраться в бинарном поиске ,в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ функция добавления элемента в список http://www.cyberforum.ru/cpp-beginners/thread971466.html
пытаюсь создать список с добавлением элемента в конец. void List::Add(int x){ element *temp=new element; temp->x=x; temp->NEXT=NULL; element *current=head; while (current->next!=NULL){ current=current->NEXT; current->NEXT=temp;}}
SFML SFML. Проблемы при кодключение Всем доброго времени суток :) Решил попробовать поиграться с мультимедиа(игрушки типа змейки и марио) ,для опытов выбрал библиотеку(или правильно говорить платформу?поправьте) SFML. При подключение возникли проблемы.Все стандартно взято с сайта для проверки.Компилятор Code::Blocks.Код вот.Также ниже скрин. #include <SFML/Graphics.hpp> using namespace sf; int main() { RenderWindow... http://www.cyberforum.ru/cpp-beginners/thread971464.html
Работа с матрицей C++
Здравствуйте можете помочь. Задана матрица F(9,3). определить, равны ли все элементы первого столбца соответствующим элементам главной диагонали. Если нет, то поменять их местами. На c++.
Самолет может поднять 750 кг, если средний вес человека 70кг. Посчитать сколько человек может поднять самолет? C++
Напишите пожалуйста исходный код выражения задачи: Самолет может поднять 750 кг, если средний вес человека 70кг. Посчитать сколько человек может поднять самолет?
C++ напишите пожалуйста исходный код выражения http://www.cyberforum.ru/cpp-beginners/thread971439.html
Помогите пожалуйста написать исходный код арифметического выражения: у = (10-х)*3/0.5+х если х=7.8 Какой исходный код с++? заранее спасибо.
C++ как упростить программу ? С использованием операторов "printf" и "scanf" #include <conio.h> #include <iostream> #include <windows.h> #include <math.h> #include <clocale> using namespace std; int main() подробнее

Показать сообщение отдельно
VASYA_A
2 / 2 / 0
Регистрация: 11.09.2013
Сообщений: 129

Нужно немного разобраться в бинарном поиске ,в С++ - C++

07.10.2013, 19:23. Просмотров 182. Ответов 0
Метки (Все метки)

Здравствуйте.
Вообщем , есть код, нашёл такой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int start,end,m;
    start=0;   //начало
    end=n;    //конец
    bool a=false;
    while(start<=end)
    {
        m=(start+end)/2;    //середина
        if(key<m) end=m-1;
        else 
        {
            if(key>m) start=m+1;
            else 
            {
                a=true;
                break;
            }
        }
    }
    if(a==true) 
    {
        cout<<"Element is found: "<<endl;
        cout<<"key: "<<key<<endl;
        cout<<"index: "<<m<<endl;
        cout<<"p "<<p<<endl;
    }
    else cout<<"Element not found"<<endl;
В принципе , я понимаю саму суть бинарного поиска , но вот читаю примеры , и не могу понять одну вещь :
в строке
C++
1
if(key>m) start=m+1;
- получается так ,что если ключ больше середины... а дальше , что мы делаем ??? почему это начало = середина +1 , почему именно 1 ?
и здесь такой же вопрос:
C++
1
if(key<m) end=m-1;
- можно ж просто написать
C++
1
end=m;
Помогите , пожалуйста , разобраться.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru