|
0 / 0 / 0
Регистрация: 06.05.2020
Сообщений: 19
|
||||||
Быстрая сортировка (сортировка Хоара)06.12.2020, 01:29. Показов 1265. Ответов 2
Метки нет (Все метки)
Народ, нужен самый простой и понятный код на C++ без рекурсивной функции и без деление массива пополам. Можно по этой инструкции пожалуйста. У меня никак не получается написать.
"Чаще всего в качестве базового ключа выбирается первый элемент исходной последовательности. Затем устанавливается 2 указателя: i=1 и j=n, где 1 и n – номера элементов последовательности. Сравниваем ключ k 0 и k j . Если k 0 ≤k j , то устанавливаем j=j-1 и опять сравниваем k 0 и k j . Уменьшаем j на 1, пока не выполнится условие k 0 >k j . Как только это условие выполнилось, меняем местами ключи k 0 и k j . После этого начинаем увеличивать индекс i на 1, т.е. i=i+1. Сравниваем элементы k i и k 0 до тех пор, пока не выполнится условие k i >k 0 . После этого меняем местами k i и k 0 . Возвращаемся к индексу j и уменьшаем его до выполнения условия k 0 ≤k j . Затем снова увеличиваем i на 1. Алгоритм заканчивает работу, когда i=j. Сложность этого метода сортировки О (n*log 2 n). ------------------------------------------------------- Пример. Отсортировать последовательность 40 11 83 57 32 21 75 64. Этапы выполнения этого метода представлены в таблице. Шаг 1. Выберем базовый ключ k 0 =40. Сравниваем элемент с индексом j с базовым ключом k 0 . Сравниваем 40 и 64. k 0 <kj (40<64), поэтому сдвигаем j на 1 позицию влево. Шаг 2. Сравниваем 40 и 75. k 0 <kj (40<75), поэтому сдвигаем j на 1 позицию влево. Шаг 3. Сравниваем 40 и 21. k 0 >kj (40>21), поэтому меняем местами 40 и 21. Шаг 4. Теперь сравниваем элемент с индексом i с базовым ключом k 0 . k i <k 0 (11<40). Шаг 5. Сдвигаем i на одну позицию вправо. Сравниваем 83 и 40. 83>40, поэтому меняем местами ключи. Шаг 6. Возвращаемся к индексу j. 40>32, поэтому меняем местами 40 и 32. Шаг 7. Возвращаемся к индексу i. Сравниваем 57 и 40. 57>40, поэтому меняем местами 57 и 40. После выполнения этого обмена, i=j, т.е. алгоритм заканчивает работу. Последовательность отсортирована." Моя не рабочая прога:
0
|
||||||
| 06.12.2020, 01:29 | |
|
Ответы с готовыми решениями:
2
Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива Быстрая сортировка (сортировка Хоара) для связных списков
|
|
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
|
|
| 06.12.2020, 01:39 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 06.05.2020
Сообщений: 19
|
|
| 06.12.2020, 13:23 [ТС] | |
|
Это не то, я же написал что без рекурсивной функции и деления массива пополам.
0
|
|
| 06.12.2020, 13:23 | |
|
Помогаю со студенческими работами здесь
3
Сортировка Хоара / Быстрая сортировка быстрая сортировка Хоара Быстрая сортировка Хоара Быстрая сортировка массива (Хоара) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|