[C++] Алгоритмы - Пузырьковая сортировка (Bubble sort)

  Рет қаралды 41,553

Efremov Engineer

Efremov Engineer

7 жыл бұрын

В этом видео вы узнаете, что такое пузырьковая сортировка, как она работает, где и когда используется. Познакомитесь с основными принципами сортировки массива.
Файлы этого урока на GitHub: i2m.su/mVxmGY
Задавайте Ваши вопросы:
Я в VK - id297086696
Я в FB - i2m.su/klotNf
Group VK - codrob
Group FB - i2m.su/xRPlWf

Пікірлер: 22
@user-pt2ur3kw6s
@user-pt2ur3kw6s 5 жыл бұрын
От души спасибо братан, очень долго мучался насчет досрочного выхода с программы,весь интернет перерыл ни где не было
@user-pb4yv2et2i
@user-pb4yv2et2i 6 жыл бұрын
Ты молодец!! Классно получается
@user-dz5vr3qj1c
@user-dz5vr3qj1c 6 жыл бұрын
Супер!!! Ну и красотища! Уважуха! Спасибо!
@feewre
@feewre 4 жыл бұрын
1. Название enuma-а "type" никак не отражает суть этого enuma-а 2. Поскольку в "type" всего два перечисления, они легко заменяются на true и false 3. Для понимания алгоритма даром не нужен предикат, но раз уж ты его реализовываешь, то можно было обойтись без шаблонов, ненужных enum-ов, и тем более, свича. В стандарте 2014 года уже появились указатели на функцию, которой может быть либо greater(), либо less() 4. Самое грубое, что у тебя переменная passages плюсуется дважды. В НАЧАЛЕ каждого прохода, и в конце каждого swap-а 5. Лишние комы в выводе и постфиксные ++ в каждом цикле, хоть компилятор их и должен поменять на префиксные, но это уж от компилятора зависит 6. Ненужные скобки вокруг создания каждого массива. Я так понимаю, они там для вызова деструкторов, но конкретно в этой ситуации это захламление кода
@BlinCT
@BlinCT 7 жыл бұрын
На самом деле не соглашусь с нижним комментарием, сама сортировка видна и рассказано ка она работает, а вот варианты оптимизации это полезная инфа. И по этом считаю что автор сделал хороший пример.
@heknt123
@heknt123 7 жыл бұрын
Ну ты не плохо рассказал все . Но ты же понимаешь что слишком все усложнил ? Сортировка пузырьком это база для понимания что, где, когда. Проще сказать что так можно сделать но не стоит . И в реальных проектах она применяется(не всегда но увы). Но зачем усложнять базовый алгоритм не нужными плюшками ? 1) Цикл + рандом для создания массива 2) Сортировка 3) Вывод массива через цикл 4) return 0; А дальше на примере других алгоритмов можно уже усложнять текущий . То есть добавить скорость его работы (тактов), В каких случаях стоит а в каких нет его использовать. Такое ощущение что люди снимают видио для самих себя ! Если вы делаете видео урок то это должно быть уроком а не головоломкой. P.s у многих людей дар делать из нескольких строчек кода функцию а из 2 функций класс . P.s.s у многих людей дар рассказывать о простом сложно.
@user-cc5qj1cv2r
@user-cc5qj1cv2r 6 жыл бұрын
Почему ты не используешь using namespace std; ???
@arsenyzakharov8191
@arsenyzakharov8191 6 жыл бұрын
Денис Райзман смотри пример. Возьмём класс детей в школе. Если в нем есть только одна девочка с именем Маша, то нам без разницы какая у неё фамилия, любое обращение к Маше - это обращение к этой самой девочке. Но если в классе две Маши с разными фамилиями, то при обращении к Маше становится не понятно, к какой именно Маше мы обращаемся. Явное написание пространства имён - это фактически явное написание фамилии нужной нам Маши.
@rota2866
@rota2866 5 жыл бұрын
так в этом коде, Маша, как раз - одна..
@par9325
@par9325 5 жыл бұрын
#include using namespace std; int main() { int n=5; int masA[n]; cout
@pavelnovikov3894
@pavelnovikov3894 3 жыл бұрын
Чтобы убого как у тебя не выглядило
@par9325
@par9325 3 жыл бұрын
@@pavelnovikov3894 еще кто убогий, раз самое банальное самостоятельно сделать не можешь. ну, делай как знаешь. удачи
@pavelnovikov3894
@pavelnovikov3894 3 жыл бұрын
@@par9325 в чем проблема сделать код более читаемым и универсальным, а не таким убогим как у тебя?
@pavelnovikov3894
@pavelnovikov3894 3 жыл бұрын
​@@par9325 в чем проблема того, что я не знаю как происходит процесс алгоритмизации пузырьком? Или я должен по названию все понимать?
@pavelnovikov3894
@pavelnovikov3894 3 жыл бұрын
@@par9325 тем более на примере таких простых алгоритмов, я учу интерфейсную и алгоритмическую состовляющию #include #include enum parties {less,greator}; template class sorting { public: sorting(int* arr, int& size); void bubble(); void print(); private: int size; int* arr; bool sorting_type(T x, T y); }; int main() { int size = 10; int* arr = new int[10]{ 1,4,100,2,5,5,9,28,5,1 }; sorting b(arr, size); b.bubble(); b.print(); return 0; } template sorting::sorting(int* arr, int& size) { this->arr = arr; this->size = size; } template void sorting::bubble() { bool Already = false; for (int i = 0; i < size - 1; ++i) { bool Already = false; { for (int j = 0; j < size - i - 1; ++j) { if (sorting_type(arr[j], arr[j + 1])) { T temp = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = temp; Already = true; } } if (!Already) break; } } } template void sorting::print() { for (int i = 0; i < size; ++j) { std::cout
@user-zh9qx5vz1w
@user-zh9qx5vz1w 7 жыл бұрын
Алгоритмы STL будут?
@moratoPg
@moratoPg 6 жыл бұрын
Музыку неставь тяжело сосредоточится чтоб слушать что ты обясняеш
@r_lonef
@r_lonef 2 жыл бұрын
музыка мешает
Bubble Sort | C++ Example
13:20
Portfolio Courses
Рет қаралды 23 М.
Всё об указателях в C++ за 20 минут
20:00
MISS CIRCLE STUDENTS BULLY ME!
00:12
Andreas Eskander
Рет қаралды 20 МЛН
Язык C++ с нуля | #11 Сортировка пузырьком в c++.
16:36
Программист86
Рет қаралды 47 М.
Зачем нужны указатели в C++?
8:14
Dima
Рет қаралды 11 М.
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
C++ | Сортировка массива пузырьковым методом
13:49
Александр Нечай
Рет қаралды 10 М.
Learn Bubble Sort in 7 minutes 🤿
7:44
Bro Code
Рет қаралды 231 М.
Bubble Sort | C Programming Example
14:53
Portfolio Courses
Рет қаралды 115 М.