Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185

Про пузырьковую сортировку

05.12.2012, 16:30. Показов 702. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос: 1). если у нас дан массив 51428, то сколько проходов i совершено? (по моим подсчётам 4, т.к. массив из 5-ти чисел)


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void bubbleSort(int* arr, int size)
{
    int tmp, i, j;
 
    for(i = 0; i < size - 1; ++i) // i - номер прохода
    {            
        for(j = 0; j < size - 1; ++j) // внутренний цикл прохода
        {     
            if (arr[j + 1] < arr[j]) 
            {
                tmp = arr[j + 1]; 
                arr[j + 1] = arr[j]; 
                arr[j] = tmp;
            }
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.12.2012, 16:30
Ответы с готовыми решениями:

Разобрать пузырьковую сортировку
Т.к. я новичок в программировании, прошу помочь мне разобраться в исходном коде программы (написать подробные комментарии) или объяснить...

Заменить пузырьковую сортировка на сортировку Шелла
Есть работающая сортировка пузырьковая, через потоки реализована, задача в том что бы вместо пузырьковой была сортировка Шелла, никак пока...

Какой из приведенных кодов реализует Пузырьковую сортировку?
Есть такой цикл сортировки for (i=0;i&lt;n-1;i++) for (j=0;j&lt;n-i-1;j++) if (A&gt;A){ X=A; ...

6
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
05.12.2012, 16:33
Цитата Сообщение от aleksand Посмотреть сообщение
если у нас дан массив 51428, то сколько проходов i совершено?
Сложность алгоритма O(n2)
0
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185
05.12.2012, 16:35  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Сложность алгоритма O(n2)
А можно в цифрах для наглядности? И желательно ответить на мой вопрос на счёт сколько всё-таки будет i-проходов (я пытаюсь понять что и как там работает)?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
05.12.2012, 16:41
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
int bubbleSort(int* arr, int size)
{
    int tmp, i, j,count=0;
 
    for(i = 0; i < size - 1; ++i) // i - номер прохода
    {            
        for(j = 0; j < size - 1; ++j) // внутренний цикл прохода
        {     
            if (arr[j + 1] < arr[j]) 
            {
                tmp = arr[j + 1]; 
                arr[j + 1] = arr[j]; 
                arr[j] = tmp;
            }
                count++;
        }
    }
     return count;
}
 
int main(){
    int arr[6]={5,1,4,2,8};
    std::cout<<bubbleSort(arr,5);
    std::cin.get();
    return 0;
}
1
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185
05.12.2012, 17:12  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
 
int bubbleSort(int* arr, int size)
{
    int tmp, i, j,count=0;
 
    for(i = 0; i < size - 1; ++i) // i - номер прохода
    {            
        for(j = 0; j < size - 1; ++j) // внутренний цикл прохода
        {     
            if (arr[j + 1] < arr[j]) 
            {
                tmp = arr[j + 1]; 
                arr[j + 1] = arr[j]; 
                arr[j] = tmp;
            }
                count++;
        }
    }
     return count;
}
 
int main(){
    int arr[6]={5,1,4,2,8};
    std::cout<<bubbleSort(arr,5);
    std::cin.get();
    return 0;
}
Залил на фотохостинга фотку того, как я разбрирал алгоритм: http://floomby.ru/s1/SFMmG
По моим подсчётам там i будет ровно 4, а не 16. Помоги пожалуйста разобраться. Может я не правильно рассуждал на фотке
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
05.12.2012, 17:17
Цитата Сообщение от aleksand Посмотреть сообщение
По моим подсчётам там i будет ровно 4, а не 16.
4 прохода по i и на каждый i по четыре прохода по j. Итого (size-1)2 = 42 = 16
Схема у Вас правильная. Именно так это и происходит.
1
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185
05.12.2012, 17:28  [ТС]
Спасибо, теперь стало понятно =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2012, 17:28
Помогаю со студенческими работами здесь

Сортировка списка студентов группы по алфавиту используя пузырьковую сортировку
Написать программу, сортирующую список студентов группы по алфавиту и использующую библиотечную пузырьковую сортировку.

Выполнить пузырьковую сортировку массива по возрастанию и вывести исходный массив обработанный на экран
Выполнить пузырьковую сортировку массива по возрастанию и вывести исходный массив обработанный на экран.

Как понять "пузырьковую" сортировку?
Здравствуйте , в книге по теме &quot;массивы&quot; в пример была дана программа &quot;пузырьковой&quot; сортировки массивов: int main() { int nums;...

Задача про сортировку с использованием связного списка, нужно найти ошибку
Имеется файл состоящий из данных о студентах(ФИО, номер группы, средний бал). Построить сортированный список(по имени хотя бы) по любому из...

Сортировку вставками меняем на Пирамидальную сортировку и на Сортировку подсчётом
Здравствуйте. Я не как не могу разобраться.Помогите. У меня есть листинг сортировки вставками: #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru