Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Вальтазар
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 17
#1

Сортировка улучшенным пузырьком массива - C++

11.02.2010, 18:50. Просмотров 2330. Ответов 4
Метки нет (Все метки)

Здравствуйте. Похожие темы поднимались не один раз, но ни где нету примера сортировки улучшенным пузырьком многомерного массива
Помогите пожалуйста разобраться. Вот примерное задание:
Дан многомерный массив, размер произвольный. Отсортировать этот массив методом пузырька с двумя улучшениями.
Вот список улучшений:
1. Если на очередном проходе не произошло не одного обмена, то это значит, что масиив отсортирован и нету смысла далее сортировать.
2. Если запоминать не только факт самого обмена, но и индекс последнего обмена например в переменную n. То следующие проходы нужно выполнять до n.
С одномерным массивом я разобрался как отсортировать и сделать улучшения, но задача состоит в том, что необходимо отсортировать полностью массив, а не построчно, а как это сделать я не пойму.
Пример:
дан массив:
369
154
872
нужно получить:
123
456
789
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2010, 18:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка улучшенным пузырьком массива (C++):

Сортировка массива пузырьком - C++
Здравствуйте! Нужен код сортировки массива пузырьком. Сначала на экран выдаётся сообщение с выбором сортировки, по типу: Нажмите 1,...

Сортировка двумерного Массива пузырьком - C++
Всем Привет! Помогите пожалуйста отсортировать двумерный динамический массив рандомных чисел методом "Пузырька" С++ алгоритмом указаном...

Сортировка двумерного массива пузырьком - C++
Помогите пожалуйста сортировать двумерный массив, когда создаю const все работает, а когда создаю динамический массив по убиванию все...

Сортировка пузырьком двумерного массива. - C++
Задание: Упорядочить массив по возрастанию элементов к-строки (использовать сортировку пузырьком). for (int i = 0; i < col; i++) ...

Сортировка массива по возрастанию(пузырьком) - C++
Считать данные из файла, отсортировать по возрастанию, результат поместить в другой файл.Помогите пожалуйста.

Сортировка массива пузырьком - найти ошибку в коде - C++
В массив вношу 46 случайных чисел от 1 до 26 включая, упорядочиваю по убыванию сортировкой методом пузырька - выдает ошибку сам код вот ...

4
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
11.02.2010, 19:14 #2
Представь массив в линейном виде. Между двумерными и линейными координатами есть прямая связь:
линейный индекс = (индекс строки)*3 + (индекс столбца), l = i*3 + j;
индекс строки = (линейный индекс) / 3 (деление нацело) i = l/3;
индекс столбца = остаток от деления линейного индекса j = l%3;

Для других размеров матрицы это будет не 3, а какая там у тебя длина строки. Все индексы, разумеется, начинаются с 0.
0
Вальтазар
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 17
12.02.2010, 00:00  [ТС] #3
Nick Alte А ты не мог бы привести пример кода??Просто я что-то всё равно не пойму как это сделать.
0
Nick Alte
Эксперт С++
1639 / 1011 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
12.02.2010, 17:55 #4
C++
1
2
3
int a[4][5] = {/*всякие там числа...*/};  // А теперь последовательно напечатаем все 20 элементов
for(int i=0; i<20; ++i)
    printf("%d\n", a[i/5][i%5]);
1
Вальтазар
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 17
13.02.2010, 12:17  [ТС] #5
Огромнейшее спасибо за помощь!!!
0
13.02.2010, 12:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2010, 12:17
Привет! Вот еще темы с ответами:

Сортировка "пузырьком" массива структур по заданному полю - C++
Нужно отсортировать структуру по фамилии доктора, но что то он не сортирует. void sortDoc(Doctor doctor) { int size; ...

Сортировка одномерного массива методом обмена ("пузырьком") - C++
Имеется одномерный массив размерностью n, заполняемый генератором случайных чисел. Результат выводится на экран в 5 столбцов. Нужно...

Сортировка массива по возрастанию "пузырьком" - C++
Отсортировать массив по возрастанию методом &quot;пузырька&quot;.

Сортировка пузырьком. - C++
Приветствую, тех кто заглянул в топик. Помогите, пожалуйста, решить задачу на C пузырьковой сортировкой. Отсортировать символьный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru