Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206

Бинарный поиск элемента массива типа char

09.02.2015, 16:24. Показов 2767. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ помогите мне пожалуйста разобраться с бинарным поиском
у меня есть массив char
Java
1
2
3
public static void main(String[] args) {
        
        char arr[] = {'a','b','c','d','e'} ;
как мне найти последний элемент массива бинарным поиском???

Добавлено через 1 минуту
как я понял я должен взять длину массива и разделить ее пополам
Java
1
2
3
 int n = arr.length;
        
        int mid = n/2;
а что дальше ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.02.2015, 16:24
Ответы с готовыми решениями:

Поиск первого положительного элемента массива (бинарный поиск)
Нужен именно бинарный поиск,чтобы выводился первый положительный элемент из массива чисел(в массиве могут быть отрицательные...

Бинарный поиск элемента массива
Всем привет. Помогите пожалуйста. Есть массив X из n елементов, который рандомится в диапазоне . И элемент У стого-же диапазона. ...

Вывод элемента массива типа char
Объясните кто знает почему когда я вывожу i-й элемент массива посредством cout все отлично а когда printf то выдает ошибку: Тут все...

7
 Аватар для KuKu
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
09.02.2015, 18:03
Цитата Сообщение от L_Egor Посмотреть сообщение
как мне найти последний элемент массива бинарным поиском???
Этот вопрос не имеет смысла
1
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
09.02.2015, 18:08  [ТС]
Цитата Сообщение от KuKu Посмотреть сообщение
Этот вопрос не имеет смысла
тут не в этом вопрос, тут надо выполнить задание такое вот
0
Guardian of Asgaard
377 / 319 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
09.02.2015, 18:15
Если последний элемент массива разделённого напополам, то:
Java
1
2
3
4
char array[] = {'a','b','c','d','e'};
int length = array.length / 2 - 1;
 
System.out.println(array[length]);
1
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
09.02.2015, 18:16
заняло меньше 10 сек тыц
1
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
09.02.2015, 19:15  [ТС]
Цитата Сообщение от name? Посмотреть сообщение
заняло меньше 10 сек тыц
ну, у всех свои источники поиска, я перегуглил много ссылок и не нашел ничего того что мне помогло

Добавлено через 13 минут
name?, и с числами это пол беды, но у меня то массив char

Добавлено через 10 минут
name?, да и в этом примере много чего непонятного
0
 Аватар для name?
201 / 172 / 52
Регистрация: 01.06.2010
Сообщений: 371
09.02.2015, 19:40
Лучший ответ Сообщение было отмечено L_Egor как решение

Решение

вот с массивом char
Java
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
public class Demo {
 
      public static void main(String[] args) {
            char[] arr = { 'a', 'b', 'c', 'd', 'e', 'f'};
            System.out.println(rank('c', arr));
        }
        
        public static int rank(int val, char[] arr) {
            return rank(val, arr, 0, arr.length-1);
        }
        
        private static int rank(int val, char[] arr, int lo, int hi) {
            if (lo > hi) return -1;
            
            int mid = lo + (hi - lo) / 2;
            
            if (val < arr[mid]) {
                return rank(val, arr, lo, mid - 1);
            } else if (val > arr[mid]) {
                return rank(val, arr, mid + 1, hi);
            } else {
                return mid;
            }
        }
}
я так понял, тебе нужен алгоритм
1
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
10.02.2015, 21:49  [ТС]
name?, при многом благодарен, очень сильно помог
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.02.2015, 21:49
Помогаю со студенческими работами здесь

Добавление в массив типа char * одного элемента типа char
Дан класс Строка, содержащий указатель на char - адрес динамически выделенной для размещения символов строки памяти и длину строки. Нужен...

Найти индекс минимального элемента массива типа char длиной 12
Добрый день! Помогите, пожалуйста! Нужно решить задачу на ТурбоПаскале: Найти индекс минимального елемента массива длиной 12 для типа...

Поиск максимального элемента массива char
В чем моя ошибка, подскажите, пожалуйста? template&lt;&gt; char* Max&lt;char*&gt;(char **&amp;arr, int &amp;size) { char *max = 0; for (int i = 0;...

Бинарный поиск. Заменить первый отрицательный элемент на максимальное значение элемента массива
1).Заменить первый отрицательный элемент на максимальное значение элемента массива A(N).

Используя бинарный поиск, определите номер элемента массива, значение которого равно k
Значения элементов одномерного массива являются значениями функции f(x) на отрезке , взятые с шагом h (вводится с клавиатуры). Выведите на...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru