0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
||||||
1 | ||||||
Метод быстрой сортировки03.07.2013, 13:57. Показов 10485. Ответов 38
Метки нет (Все метки)
Как отсортировать одномерный массив методом Быстрой сортировки?
Вот код записи данных в массив!
0
|
03.07.2013, 13:57 | |
Ответы с готовыми решениями:
38
Алгоритм быстрой сортировки для двумерного массива. Получается, чем меньше столбцов, тем быстрее сортировка Как расписать "по шагам" процесс быстрой сортировки массива. Отсортировать массив, используя метод сортировки выборками Предложить метод сортировки текстового массива, отличный от WordBasic.SortArray |
6930 / 2838 / 545
Регистрация: 19.10.2012
Сообщений: 8,670
|
|
03.07.2013, 14:08 | 2 |
И чего бы не отсортировать диапазон на листе и не взять в массив верхушку (в двумерный)?
Или взять всё в двумерный, отсортировать как угодно готовой функцией (их много всяких), затем переложить верхушку (или пользовать как есть, отбросив хвост)? Оба способа думаю будут быстрее самой "Быстрой сортировки" после того, что в примере. Если брать весь процесс в целом. И зачем непременно нужен одномерный массив?
0
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
|
03.07.2013, 14:19 [ТС] | 3 |
Такое уж задание? Сделать диалог выбора сортировки "Пузырьковая и Быстрая". С Пузырьковой разобрался, а вот с Быстрой туплю по-жесткому!
0
|
6930 / 2838 / 545
Регистрация: 19.10.2012
Сообщений: 8,670
|
|
03.07.2013, 14:22 | 4 |
Я наизусть не знаю - но где-тут ведь была тема со всеми сортировками.
0
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
||||||
04.07.2013, 10:49 [ТС] | 6 | |||||
Как отсортировать одномерный массив методом Быстрой сортировки?
Вот код записи данных в массив!
0
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
||||||
04.07.2013, 12:07 [ТС] | 7 | |||||
При работе скрипта вылетает ошибка "Out of stack space"! Как исправить не понимаю! Может есть какая-нибудь ошибка?
Вот код!
0
|
04.07.2013, 12:54 | 8 | |||||
и не одна.
Trojan52, а зачем дубли темы создаете, а? Нехорошо.
1
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
|||||||||||
04.07.2013, 13:03 [ТС] | 9 | ||||||||||
Не работает! Мой скрипт должен выполнять "Быструю сортировку"! Твой скрипт не сортирует ее до конца!
Добавлено через 1 минуту В той теме никто не отвечал, а как удалять их я не знаю, ибо новичок! Добавлено через 3 минуты Может есть какие-то поправки у меня Excel 2007 и, например,
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.07.2013, 13:36 | 10 |
Вчера была Ваша тема про переменные. Я там как раз и говорил Вам ( и Султанов) про передачу аргументов в процедуру. А здесь Вы именнто это делаете, но используете сокращенную запись ( без присваивания :=), что тоже правильно по синтаксису языка. Ваша запись
А запись Call (QSort intArr, low, j) - вызвать не понятно что, но это непонятное должно иметь аргументы QSort, intArr, low, j. Поэтому и ругается.
0
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
|||||||||||
04.07.2013, 13:47 [ТС] | 11 | ||||||||||
Не совсем понял что значит "(без присваивания :=)"
Добавлено через 6 минут Вот код, в котором почти в конце вызывается эта процедура!
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.07.2013, 13:57 | 12 |
У Вас есть процедура с обязательными аргументами - Sub QSort(a, b, c). При ее вызове (Call) передаете ей аргументы. Можно разширенно - QSort(a:=intArr, b:=low, c:=j), а можна сокращенно, но обязательно соблюдать очередность (при написании, редактор должен показывать посказку) - QSort (intArr, low, j).
Добавлено через 6 минут Делаете две процедуры с аргументами (QSort расписано правильно). Одна - для пузырьковой (пусть QSort1(аргументы)), вторая - для быстрой (пусть QSort2(аргументы)). И поочереди вызываете - сохраняете где-то результаты. Можно совместить, но всеравно желательно результары разделить (они должны бы быть одинаковые - но так будет нагляднее). Разница должна быть (не обязательно) в времени.
0
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
|
04.07.2013, 14:01 [ТС] | 13 |
Не в этом дело! Высвечивается MsgBox, если Нажмешь "Да", то пройдет пузырьковая сортировка, если "Нет", то быстрая, а если нажата отмена, то Идет запись без сортировки!
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.07.2013, 14:16 | 15 |
Киньте лист с данными, которые Вы выделяете и сортируете. Прогоню у себя.
Добавлено через 3 минуты Поздно увидел, что Dragokas уже разобрался.
1
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
|
04.07.2013, 14:16 [ТС] | 16 |
0
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
|
04.07.2013, 14:29 [ТС] | 17 |
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.07.2013, 14:35 | 18 |
Посмотрю обязательно, ну у меня еще и работа... Не переживайте, все будет нормально. А пока вот-что. Гланул на код. Там работа с выделенным диапазоном (Select). Вы его вручную выделяете? И идет речь о D4:G15?
0
|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 71
|
|
04.07.2013, 14:38 [ТС] | 19 |
Все равно не работает! Он ничего не изменил этой строчкой!
Помогите! Добавлено через 55 секунд Да, диапазон выделяется вручную! Ошибка только в frmList!
0
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
04.07.2013, 14:53 | 20 |
Не могу понять, что Вы имеете ввиду под переменной low?
1
|
04.07.2013, 14:53 | |
04.07.2013, 14:53 | |
Помогаю со студенческими работами здесь
20
Как изменить код VBA для сортировки, минуя метод "Debug.Print"? Метод быстрой сортировки Метод быстрой сортировки! метод быстрой сортировки. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |