Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка слиянием, срочно 
:(
    Опции темы
MegBegb
Дата 26.5.2005, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.5.2005

Репутация: нет
Всего: нет



сортировка массива однократным слиянием с использованием массива указателей
у кого нибудь есть, или алгоритм написания!! Помогите пожалуйста... smile
PM MAIL   Вверх
Royan
Дата 26.5.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: нет
Всего: 15



А ты уверен, что сортировка именно массива, может быть списка?


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
yaja
Дата 26.5.2005, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 30.3.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 1



А сколько дополнительной памяти можно ипользовать?? Еслb O(1) то не знаю как решать, но знаю, где можно об этом прочитать (господин Кнут написал про эту тему в своем 3-м томе). А если есть O(n) дополнительной памяти, то делаем, следующим образом. Используем метод рзделяй и властвуй smile , т.е. прога рекурсивная. Общий вид следующий:

Merge-Sort(A, p, r)
if (p < r) then
q <-(p+r)/2;
Merge-Sort(A, p, q)
Merge-Sort(A, q + 1, r)
Merge(A, p, q, r)

Где Merge соединяет два отсортированных куска масива за время O(n). Происходит это следующим образом. Изначально храним указатели на начало каждого куска. На каждом шаге сравниваем элемента на которые указывают эти указатели и наименьший из них сливаем в доп. массив и указатель увеличиваем на единицу (указатель - идекс элемента в массиве). И так далее smile


PM MAIL   Вверх
MegBegb
Дата 26.5.2005, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.5.2005

Репутация: нет
Всего: нет



Вот задание:

Сортировка масива однократным слиянием с использованием массива указателей.
Составляется массив указателей на динамические массивы, в каждый из которых копируется N элементов исходного массива и некоторое максимальное значение в качестве ограничителя последовательности. Каждый динамический массив сортируется. Затем производится слияние с использованием и продвижением указателей (указатель ссылается на очередное значение в динамическом массиве)
smile
Помогите пжжжалста
PM MAIL   Вверх
MegBegb
Дата 28.5.2005, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 26.5.2005

Репутация: нет
Всего: нет



Блин пятый день мучаюсь ничаго не получается!!! smile
Может у кого есть алгоритм к данной программке? smile

Это сообщение отредактировал(а) MegBegb - 28.5.2005, 18:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.