Суббота, 16 Ноября 2024, 14:33

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Сортировка строки методом Боуза-Нельсона
Zmei_2015Дата: Пятница, 06 Мая 2016, 12:23 | Сообщение # 1
был не раз
Сейчас нет на сайте
Доброго времени суток друзья. Помогите кто может. Весь интернет уже облазил. Суть задачи. Нужно отсортировать строку методом Боуза-Нельсона. Кто нибудь знаком с этим методом? Помогите кодом кто может.
GudleifrДата: Пятница, 06 Мая 2016, 12:31 | Сообщение # 2
почти ветеран
Сейчас нет на сайте
Дык, в том коде, что Вы приводили на других форумах, все очевидно. Что Вам там конкретно непонятно?

Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
Zmei_2015Дата: Пятница, 06 Мая 2016, 12:49 | Сообщение # 3
был не раз
Сейчас нет на сайте
Цитата Gudleifr ()
Дык, в том коде, что Вы приводили на других форумах, все очевидно. Что Вам там конкретно непонятно?

Ну этот код работает с числами,а мне то со строкой надо. Да и там используется рекурсия. Мне вот она и не понятна. Вот я и ищу способы по легче. Если поможете облегчить код буду вам благодарен. Просто как вы уже заметили на остальных форумах мне не объяснили и не помогли.
GudleifrДата: Пятница, 06 Мая 2016, 13:07 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Цитата Zmei_2015 ()
Ну этот код работает с числами,а мне то со строкой надо.
Символы - это тоже числа, только маленькие. Посмотрите внимательно, как хранятся строки в Вашей версии PASCAL. Преобразования же из символов в числа и обратно, для PASCAL, вроде, стандартны.
Цитата Zmei_2015 ()
Да и там используется рекурсия. Мне вот она и не понятна.
Проще рекурсии для алгоритмов сортировки ничего не бывает. С циклами тут проблем гораздо больше. Посмотрите про рекурсию в книжках Вирта.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
Zmei_2015Дата: Пятница, 06 Мая 2016, 13:49 | Сообщение # 5
был не раз
Сейчас нет на сайте
Цитата Gudleifr ()
Символы - это тоже числа, только маленькие. Посмотрите внимательно, как хранятся строки в Вашей версии PASCAL. Преобразования же из символов в числа и обратно, для PASCAL, вроде, стандартны.

Тогда другой вопрос. Вот в этом методе разъясняется мне понятно что делается с чётным количеством слов. Например:

А = asd abh ayr aui
Тут всё просто. Разделяется на 2 строки.
B = asd abh
С = ayr aui

А что делать когда нечётное количество слов? Например:
А = asd abh ayr aui art

Как они будут разбиваться?
GudleifrДата: Пятница, 06 Мая 2016, 13:58 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Цитата Zmei_2015 ()
Как они будут разбиваться?

В вашем коде:
Код
m:=m div 2;
Sli(j,r,m); {Слияние "начал"}
If j+r+m<=n Then
Sli(j+m,r,m); {Слияние "концов"}
Sli(j+m,r-m,m) End {Слияние в центральной части}

Поставьте вместо Sli write и посмотрите, что получается.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг