Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2012, 03:25   #1
rojerbaum
Новичок
Джуниор
 
Регистрация: 10.12.2012
Сообщений: 3
По умолчанию Sorting Quick3

Здравствуйте!
Не могу разобраться с составлением функции, которая будет принимать на вход указатель на статический массив с элементами типа int и проводить в нем сортировку по этому алгоритму.
Просьба местных гуру составить, либо разжевать способ реализации данного алгоритма на языке Си.
Заранее спасибо.
rojerbaum вне форума Ответить с цитированием
Старый 10.12.2012, 22:19   #2
rojerbaum
Новичок
Джуниор
 
Регистрация: 10.12.2012
Сообщений: 3
По умолчанию

вверх
прошу помощи
rojerbaum вне форума Ответить с цитированием
Старый 10.12.2012, 22:37   #3
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

По ссылке ведь даже реализация написана. Что именно у Вас не получается?
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 11.12.2012, 00:48   #4
Murashov
Форумчанин
 
Аватар для Murashov
 
Регистрация: 30.10.2012
Сообщений: 121
По умолчанию

на сколько я знаю её смысл состоит в том, чтобы делить массив на 2(3) части (на 3 потому что больше среднего числа, меньше и равного ему) и менять местами числа. разделять части на части, части частей на части и т.д. пока не отсортирует

вот нашёл на вики даже наглядный пример

закодить пока не пробовал, надо будет как-нибудь...

думаю можно с помощью рекурсии оформить
Murashov вне форума Ответить с цитированием
Старый 11.12.2012, 04:07   #5
rojerbaum
Новичок
Джуниор
 
Регистрация: 10.12.2012
Сообщений: 3
По умолчанию

да, реализация там описана, но я решительно не могу ее понять.
Цитата:
# choose pivot
swap a[n,rand(1,n)]
меняются местами последний и рандомный элемент массива? смысл?
Цитата:
# 3-way partition
i = 1, k = 1, p = n
while i < p,
if a[i] < a[n], swap a[i++,k++]
else if a[i] == a[n], swap a[i,--p]
else i++
end
→ invariant: a[p..n] all equal
→ invariant: a[1..k-1] < a[p..n] < a[k..p-1]
здесь не совсем понимаю при каких условиях что меняется...
rojerbaum вне форума Ответить с цитированием
Старый 11.12.2012, 11:42   #6
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

че за люди пошли
https://www.google.ru/#hl=ru&newwind...w=1760&bih=840
Kukurudza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sorting Different Format Dates london735 Microsoft Office Excel 3 10.08.2009 21:10