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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
trtua
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 4
#1

Нерекурсивный двоичный поиск - C++

23.11.2010, 19:59. Просмотров 514. Ответов 2
Метки нет (Все метки)

необходимо написать на С++ двоичный поиск в рекурсивном варианте.

вот пример рекурсивной ф-ции двоичного поиска:
C++
1
2
3
4
5
6
int BinSerch(int x[],int L, int R, int key){
if (R<L) return -1;
int M=(L+R)/r;
if (x[M] = = key) return M;
else if (x[M] < key) return BinSearch(X, L, M-1, key);
       else return BinSearch(X, M+1, R, key);
без рекурсии значит функция не должна вызывать сама себя. как понял. добавятся циклы.
напишите пожалуйста с кратким объяснением.

Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2010, 19:59     Нерекурсивный двоичный поиск
Посмотрите здесь:

двоичный поиск - C++
Подскажите, пожалуйста, в вопросе: Какое дополнительное требование к массиву может быть применено при двоичном поиске, что бы определить...

Двоичный поиск - C++
Нашел на форуме двоичный поиск, не подскажите как нужно изменить код, что бы программа выводила еще и индекс, в котором находится введенное...

двоичный поиск - C++
Помогите, пожалуйста, модифицировать программу на рисунке, чтобы для выполнения двоичного поиска в массиве можно было использовать...

Двоичный поиск - C++
Помогите пожалуйста с двоичным поиском: нужно найти абитуриента с 287 баллами методом двоичного поиска.. #include &lt;iostream.h&gt; ...

Двоичный поиск - C++
Требуется найти в массиве элементы которые повторяются и элементы которые присутствуют единожды. #include &lt;stdafx.h&gt; #define N 10 ...

Двоичный поиск - C++
Добрый день. Помогите найти ошибку в двоичном поиске. Вот код: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int...

Двоичный поиск в map - C++
Здравствуйте. Помогите разобраться в следующей проблеме. В общем, мне нужно реализовать двоичный поиск в map по ключам. Понятное дело,...

Приближенный двоичный поиск - C++
Доброго времени суток, форумчане. Задача такая: В первой строке входных данных содержатся числа N и K (0 &gt; N,K &gt;100001 ). Во второй...

Двоичный (бинарный) поиск - C++
Вот такой вот вопрос: Есть например такой линейный массив 1 1 1 1 2 3 4 5 6 Вводят какое-то число и нужно проверить сколько...

Двоичный(бинарный) поиск - C++
Столкнулся с такой проблемой. использую бинарный поиск в упорядоченном массиве чисел для поиска количества повторений нужного мне числа К...

Сортировка и двоичный поиск в массиве. - C++
Помогите чайнику изменить следующий код: // F_08_L_2.cpp: определяет точку входа для консольного приложения. // #include...

Двоичный поиск в упорядоченном массиве - C++
Дан упорядоченный по неубыванию целочисленный массив и набор чисел ki. Требуется для каждого числа ki найти позиции первого и последнего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
trtua
0 / 0 / 0
Регистрация: 20.11.2010
Сообщений: 4
24.11.2010, 23:57  [ТС]     Нерекурсивный двоичный поиск #2
идей нет?
voice8787
19 / 19 / 3
Регистрация: 21.08.2010
Сообщений: 136
25.11.2010, 00:59     Нерекурсивный двоичный поиск #3
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
27
#include<stdio.h>
#include<conio.h>
#define N 50
main()
{
int n,mid,a[N],first,last,i,x;
clrscr();
printf("n=");
scanf("%d",&n);
first = 0;
  last = n-1;
  for(i=0;i<n;i++)
   scanf("%d",&a[i]);
  printf("x=");
  scanf("%d",&x);
     while ( first < last ) 
   {
     mid = ( first + last ) / 2;
       if ( x <= a[mid] ) 
          last = mid;
     else 
          first = mid + 1;
   }
  if ( a[last] == x )
    printf("%d",a[last]);
  getch();
  }
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru