0 / 0 / 0
Регистрация: 11.01.2017
Сообщений: 46
|
||||||
1 | ||||||
Как ускорить сортировку массива?20.02.2017, 20:49. Показов 2670. Ответов 7
Всем привет есть задача по сортировке массива ,я её решил на 71.43%. Помогите довести до 100%.
Вот задача Дано N (N <= 500000) целых чисел. Расположить в этом массиве в начале все положительные числа без изменения их взаимного расположения, затем нулевые элементы, затем отрицательные элементы также без изменения их взаимного расположения. Затем переставить элементы полученного массива в обратном порядке. Входные данные В первой строке находится число N. Во второй строке располагается N целых чисел (каждое число по абсолютной величине не превосходит 5000). Входные данные В первой строке вывести N, количество положительных чисел, количество нулей и количество отрицательных чисел. Во второй строке вывести полученный массив. Пример входных данных 10 3 0 -3 5 2 -1 -2 4 7 1 Пример выходных данных 10 6 1 3 -2 -1 -3 0 1 7 4 2 5 3 Мой код
0
|
20.02.2017, 20:49 | |
Ответы с готовыми решениями:
7
Как ускорить пирамидальную сортировку? Заменить сортировку массива на сортировку ссылками Как организовать сортировку динамического массива Как сделать сортировку этого массива структур? |
63 / 63 / 39
Регистрация: 18.11.2016
Сообщений: 562
|
|
20.02.2017, 21:11 | 2 |
Хм, я конечно не специалист. Но может быть сначала сделать немного по другому.
1) Создать счетчик для положительного, отрицательного, и нулевого значения. 2) Пройтись по массиву. 3) Создать три массива под положительные, нулевые, отрицательные числа. 4) Занести в них числа. 5) Произвести сортировку без изменений в основной массив. 6) Удалить динамические массивы.
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||||||
20.02.2017, 21:40 | 3 | |||||
FC Programmer, вот примерный вариант самого тупого решения на плюсах:
Добавлено через 11 минут Ну и как всегда я не прочитал задание =) FC Programmer, а чем собственно тебя не устраивает твое решение? В чем проблема?
0
|
0 / 0 / 0
Регистрация: 11.01.2017
Сообщений: 46
|
|
20.02.2017, 21:42 [ТС] | 4 |
nonedark2008, оно защитывается 71.43%.
0
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||||||
20.02.2017, 21:49 | 5 | |||||
Сообщение было отмечено FC Programmer как решение
Решение
FC Programmer, а с какой ошибкой не засчитывает?
Попробуй вынести массив cis на пределы функции main, либо вообще сделай его вектором. Сделай в начале
Добавлено через 2 минуты Да и вообще массив cis тебе не нужен, объедини первые два цикла.
1
|
0 / 0 / 0
Регистрация: 11.01.2017
Сообщений: 46
|
|
20.02.2017, 22:21 [ТС] | 6 |
nonedark2008, верно надо было соединить два цикла. Спасибо большое за помощь!
0
|
Комп_Оратор)
|
||||||
20.02.2017, 22:31 | 7 | |||||
0
|
1550 / 875 / 179
Регистрация: 05.12.2015
Сообщений: 2,555
|
||||||
21.02.2017, 00:28 | 8 | |||||
Под нулевые зачем массив то? Достаточно посчитать их количество
1
|
21.02.2017, 00:28 | |
21.02.2017, 00:28 | |
Помогаю со студенческими работами здесь
8
Подскажите как эту сортировку переделать в сортировку по алфавиту? Сортировку вставками меняем на Пирамидальную сортировку и на Сортировку подсчётом Как ускорить сортировку массива? Как ускорить сортировку? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |