0 / 0 / 0
Регистрация: 19.07.2022
Сообщений: 31
|
|
1 | |
Напишите функцию которая сортирует методом пузырька15.08.2022, 08:08. Показов 877. Ответов 10
Напишите функцию
void sortHalfs(double arr[], int nSize), которая сортирует методом пузырька первую половину массива (nSize/2) по убыванию, а вторую — по возрастанию.
0
|
15.08.2022, 08:08 | |
Ответы с готовыми решениями:
10
Напишите программу, которая сортирует массив по убыванию суммы цифр числа. Используйте функцию, которая определяет сумму Написать программу, которая методом обмена ("пузырька") сортирует по убыванию введенный с клавиатуры одномерный массив Написать программу, которая методом обмена "пузырька" сортирует по убыванию введенный с клавиатуры одномерный массив Написать функцию, которая сортирует вещественный массив методом Хоара Напишите программу, которая сортирует цифры числа по возврастанию |
601 / 438 / 136
Регистрация: 22.11.2017
Сообщений: 1,379
|
||||||
15.08.2022, 08:56 | 2 | |||||
0
|
601 / 438 / 136
Регистрация: 22.11.2017
Сообщений: 1,379
|
|
15.08.2022, 09:19 | 4 |
Catstail, спасибо за комментарий. Я использую в проектах стандартную сортировку std::sort(). В этом же задании запрошена пузырьковая. Она наглядная и обучательная для реализации руками. Я её скопировал из Интернет, а оболочку написал сам
0
|
Модератор
|
||||||
15.08.2022, 09:33 | 5 | |||||
Сообщение было отмечено daimyo как решение
Решение
- вот и зря... Самому надо писать. К тому же и в Вашем коде есть ошибка (неописанная переменная temp). Вот политкорректный код:
2
|
601 / 438 / 136
Регистрация: 22.11.2017
Сообщений: 1,379
|
||||||
15.08.2022, 09:42 | 6 | |||||
Catstail, я бы ограничил (сузил) область видимости переменной temp и сделал бы её константной
Интересная реализация алгоритма сортировки пузырьком. Ранее не встречал такую
2
|
15.08.2022, 12:16 | 7 |
SomniPhobia, вообще задание можно двояко понимать
8 10 7 1 9 4 5 2 3 6 надо отсортировать так 1 2 3 4 5 10 9 8 7 6 - значения переносятся по всему массиву или так? 1 7 8 9 10 6 5 4 3 2 - значения переносятся в пределах своих половин.
0
|
Модератор
|
|
15.08.2022, 12:23 | 8 |
SomniPhobia, это просто правильная организация пуз. сортировки. А когда внешний цикл крутится n раз - это верный признак студенческого происхождения. Могу объяснить, почему внешний цикл следует сделать итерационным. Количество проходов зависит от числа инверсий в исходном массиве. Заранее это число неизвестно. Предположим, что исходный массив содержит 1000 эл-тов и выглядит так: {1,2,3,...,1000,999}. Т.е. инверсия всего одна. Код с итерационным циклом выполнит два прохода: на первом инверсия будет исправлена, на втором обнаружится, что инверсий нет. А студенческая реализация выполнит 1000 циклов...
- а у temp, что, широкая область видимости? Она же описана в коде лямбды... И разве можно делать константой переменную, которая фигурирует слева от знака "="? Не понял... А... Не разглядел. Да, так, верно. Но к чему такой пуризм?
0
|
601 / 438 / 136
Регистрация: 22.11.2017
Сообщений: 1,379
|
|
15.08.2022, 12:27 | 9 |
Catstail, расскажи как работает сортировка из стандартной библиотеки, std::sort()? Я слышал, что она адаптивно подходит к набору данных, подлежащему сортировке
0
|
Модератор
|
|
15.08.2022, 12:30 | 10 |
SomniPhobia, не знаю деталей. Надо смотреть исходники. Но один из самых лучших современных алгоритмов - это Timsort - гибридный алгоритм, включающий сортировку вставками и сортировку слиянием. Возможно и std::sort уже такова.
1
|
15.08.2022, 14:45 | 11 |
Timsort используется в Python и частично в Java и еще в нескольких языках.
Мне кажется, что в С++ используется интроспективная сортировка Мюссера, которая ничем не уступает Timsort. Что у первого алгоритма, что у второго, худший (как и средний) случай это O(n*log(n))
2
|
15.08.2022, 14:45 | |
15.08.2022, 14:45 | |
Помогаю со студенческими работами здесь
11
Напишите программу, которая сортирует массив по возрастанию "методом камня": аналогично "методу пузырька", но Написать программу, которая сортирует массив из N элементов по возрастанию методом «пузырька» Программа, которая создаёт процесс, что сортирует элементы массива методом пузырька Написать программу, которая методом обмена («пузырька») сортирует по убыванию введенный с клавиатуры одномерный массив Создать процедуру, которая сортирует массив"методом пузырька" Напишите программу, которая сортирует последовательность целых чисел методом прямого включения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |