0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 2
1

Сортировка пузырьком: второй цикл уменьшается на 1 с каждой итераций первого цикла

17.09.2019, 00:55. Показов 1152. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста. Нужно сделать сортировку Пузырьком, чтобы второй цикл уменьшался на 1 с каждой итерацией первого цикла.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2019, 00:55
Ответы с готовыми решениями:

Сортировка пузырьком. Зачем нужно 2 цикла?
for(int j=1;j<=k;j++) for(int i=1;i<=k;i++) if(A<A) { max=A; ...

Сделать один цикл while. Сортировка пузырьком c#
using System; using System.Diagnostics; using System.Collections.Generic; using System.Linq;...

Сортировка пузырьком без учета первого и последнего элемента
Добрый день знатоки. Я написал программу сортировка массива по методу пузырка. сам массив...

Цикл в цикле, inc первого цикла не пашет?
Вобщем есть два цикла while и for, в цикле while inc почему-то не работает или работает не так как...

5
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
17.09.2019, 01:15 2
C++
1
2
3
4
for (int i=0; i<n-1; i++)    
    for (int j=0; j<n-i-1; j++)        
      if (a[j] > a[j+1]) 
      swap(a[j], a[j+1]);
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 2
17.09.2019, 02:01  [ТС] 3
а где тут уменьшение на 1?
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
17.09.2019, 02:09 4
не заметно что i отнимается ?
0
Она кричала хватит
41 / 42 / 7
Регистрация: 21.05.2019
Сообщений: 112
17.09.2019, 12:15 5
Вы имеет ввиду шейкерную (коктейльную) сортировку? Если да вот:

Кликните здесь для просмотра всего текста
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
29
30
31
32
33
34
35
36
37
template<typename T>
void shaker_sort_array(T* arr, size_t SIZE) {
    T temp;
    int left_index = 0;
    int right_index = SIZE - 1;
    bool sorted;
 
    while (left_index < right_index) {
        sorted = true;
        for (size_t i = left_index; i < right_index; ++i) {
            if (arr[i] > arr[i + 1]) {
                temp = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = temp;
                sorted = false;
            }
        }
        if (sorted) {
            break;
        }
        --right_index;
 
        sorted = true;
        for (size_t i = right_index; i > left_index; --i) {
            if (arr[i] < arr[i - 1]) {
                temp = arr[i];
                arr[i] = arr[i - 1];
                arr[i - 1] = temp;
                sorted = false;
            }
        }
        if (sorted) {
            break;
        }
        ++left_index;
    }
}
0
2 / 1 / 1
Регистрация: 05.04.2019
Сообщений: 14
02.10.2019, 11:38 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    template<class T>
    void sort(T mas[], long size) 
    {
        long i, j;
        T x;
        for (i = 0; i < size; i++)
        {           
            for (j = size - 1; j > i; j--)
            {     
                if (mas[j - 1] > mas[j])
                {
                    x = mas[j - 1];
                    mas[j - 1] = mas[j];
                    mas[j] = x;
                }
            }
        }
    }
0
02.10.2019, 11:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2019, 11:38
Помогаю со студенческими работами здесь

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array ...

Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой строки первого файла
Текстовый файл состоит из нескольких строк. Записать во второй файл последние символы из каждой...

Даны два текстовых файла. Добавить в конец каждой строки первого файла соответствующую строку второго файла. Если второй
Даны два текстовых файла. Добавить в конец каждой строки первого файла соответствующую строку...

Замена второго цикла в сортировке пузырьком
Можно ли заменить второй цикл в сортировке пузырьком массива?К примеру будет один цикл for с...

Один комп видит второй, а второй первого нет
Есть не сложная сетб Комп A ↔ Комп Б ↔ Комп В У компа А IP 192.168.70.110 У компа Б два...

При нажатии на кнопку 'Добавить', содержимое склада (первого грида) уменьшается и переносится в другой грид
Здравствуйте, выручите пожалуйста. В одном гриде содержится информация о содержимом склада(Рис.1)...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru