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

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

Войти
Регистрация
Восстановить пароль
 
A1lexen
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 27
#1

Не могу понять код пузырьковой сортировки - C++

14.07.2016, 16:51. Просмотров 256. Ответов 6
Метки нет (Все метки)

Сам алгоритм работы ясен, а как это воплотить в код не могу понять. Если читать готовые коды, тоже не могу разобраться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2016, 16:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу понять код пузырьковой сортировки (C++):

Код пузырьковой сортировки массива по убыванию - C++
Исходный массив -2.4 10.5 49.9 -49.9 -25.3 35.8 Написать код пузырьковой сортировки данного массива на убывание

Составить программы для пузырьковой сортировки и сортировки посредством выбора с применением оператора while - C++
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить программы для пузырьковой...

Методы сортировки!не могу понять почему не робит! - C++
Всем привет,написал прогу и не работает,не могу понять почему!сколько раз просматривал все норм вроде бы! #pragma argsused #include...

Алгоритм пузырьковой сортировки - C++
#include<iostream.h> #define SIZE 5 void bsort (int iArray, int n); int main() { char ch; int ii; int iArray ; for(ii =...

Шаблон пузырьковой сортировки - C++
У меня проблемы с шаблоном пузырьковой сортировки. Почему элементы double не сортируется нормально? #include <iostream> #include...

Метод пузырьковой сортировки - C++
Подскажите как сделать сортировку одномерного массива методом пузырька по убыванию? //сортировка методом пузырька for (int...

6
zer0mail
2373 / 2003 / 199
Регистрация: 03.07.2012
Сообщений: 7,192
Записей в блоге: 1
14.07.2016, 17:58 #2
Если ясен, напиши словами, по-русски.
0
daniilorain
👻👻👻
18 / 25 / 11
Регистрация: 22.04.2016
Сообщений: 166
14.07.2016, 18:18 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void bubble_sort(int *a, int length)
{
     for (int i = 0; i < length-1; i++) { 
        bool swapped = false;
         for (int j = 0; j < length-i-1; j++) {
             if (a[j] > a[j+1]) {
                 int b = a[j]; 
                 a[j] = a[j+1];
                 a[j+1] = b;
                 swapped = true;
             }
         }
         
         if(!swapped)
            break;
     }
 }
В первом цикле проходим до length-1 элемента, потому что сравниваем 1 элемент со вторым, второй с третьим, length-1 с length-ым. А если будем проходить до length-ного элемента, то будет сравниваться 1 со 2, 2 с 3-им, length с length + 1-ым, но length+1-ого элемента нет
Во вложенном проходим до length-i-1-ого, так как старший элемент уже в самом конце, и с ним сравнивать не надо.
Чтобы лучше понять, изобразите сортировку на бумаге.
1
_liv_
229 / 229 / 86
Регистрация: 07.10.2015
Сообщений: 639
Завершенные тесты: 1
14.07.2016, 18:26 #4
Я делаю немного по-другому
Самые меньшие из оставшихся "всплывают" к началу массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void bubble_sort(int *a, int length)
{
     for (int i = 0; i < length-1; i++) //текущий - от первого до предпоследнего
     { 
         for (int j = i+1; j < length; j++) //от следующего за текущим до конца
         {
             if (a[i] > a[j]) //если текущий больше какого-то из следующих
             {
                 int b = a[i]; //то меняем местами
                 a[i] = a[j];  //тем самым на месте текущего окажется самый меньший
                 a[j] = b;
             }
         }
     }
 }
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
14.07.2016, 19:51 #5
Алгоритмы сортировок
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
15.07.2016, 08:56 #6
Цитата Сообщение от _liv_ Посмотреть сообщение
//то меняем местами
В переводе на человеческий это std::swap, и комментариев никаких не надо.
0
zer0mail
2373 / 2003 / 199
Регистрация: 03.07.2012
Сообщений: 7,192
Записей в блоге: 1
15.07.2016, 09:18 #7
У ТС, похоже, проблемы с человеческим. Он не написал, как он понимает сам алгоритм, не написал конкретные места в коде, которые он не понял, поэтому ему можно только посочувствовать.

Не по теме:

Получается, как у собак: "все понимают, только сказать не могут".

0
15.07.2016, 09:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2016, 09:18
Привет! Вот еще темы с ответами:

Анализ пузырьковой сортировки - C++
здравствуйте. дайте пжл доступные статьи по теме : анализ среднего случая пузырьковой сортировки

Напишите функцию пузырьковой сортировки - C++
Напишите функцию пузырьковой сортировки на с++. Функция на вход принимает ссылку на массив. Сортировка осуществляется в исходном массиве.

Модифицированный алгоритм пузырьковой сортировки - C++
Консольного приложение, реализующего два алгоритма, один из которых обеспечивает решение задачи последовательным способом, а другой –...

Реализация алгоритма пузырьковой сортировки - C++
Задача на массивы, где нужно банки переливать (ну, у меня она с этим ассоциируется). Раньше решал где-то, но уже не помню где.


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

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

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