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

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

Войти
Регистрация
Восстановить пароль
 
vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
#1

Сортировка с пузырём - C++

24.02.2012, 04:48. Просмотров 451. Ответов 3
Метки нет (Все метки)

Здравствуйте. Начал изучать сортировки, хотел написать свой "пузырек", а оно чего-то работать не хочет, зацикливается. Поглядите, пожалуйста:

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
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
using namespace std;
 
void printArray( int[], int );
void bubbleSort( int[], int );
void swap( int, int );
 
int main()
{
    const int size = 4;
    int array[ size ] = { 9, 8, 7, 6 };
 
    bubbleSort( array, size );
    printArray( array, size );
    
    system( "pause" );
    return 0;
}
 
void printArray( int array[], int arraySize )
{
    for( int i = 0; i < arraySize; i++ )
        cout << array[ i ] << " ";
    
    cout << endl;
}
 
void bubbleSort( int array[], int arraySize )
{
    bool t = true;
    
    while( t == true )
    {
        t = false;
        
        for( int j = 0; j < arraySize; j++ )
            if( array[ j ] > array[ j + 1 ] ) {
                swap( array[ j ], array[ j + 1 ] );
                t = true;
            }
    }
}
 
void swap( int a, int b )
{
    int temp = a;
    a = b;
    b = temp; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2012, 04:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка с пузырём (C++):

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

Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом? - C++
Помогите, пожалуйста, разобраться. Подскажите в каком куске кода происходит сортировка и каким именно образом? #include &lt;iostream&gt; ...

Быстрая сортировка (сортировка Хоара) для связных списков - C++
есть у кого готовый алгоритм? или подскажите как реализовать

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива - C++
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным элементом. Немогу понять как устоновить...

Сортировка Шелла и пирамидальная сортировка для символов - C++
Здраствуйте, можете пожалуйста привести пример сортировок шелла и пиромидальной сортировки для символов, а то ничего не могу ...

Быстрая сортировка (сортировка методом Хоара) - C++
Ввести массив x1,x2,...,x20 в диапазоне . Требуется расположить отрицательные элементы в порядке убывания. Вывести массивы до и после...

3
kazak
3038 / 2359 / 157
Регистрация: 11.03.2009
Сообщений: 5,405
Завершенные тесты: 1
24.02.2012, 07:21 #2
Элементы массива в функцию swap передаются по значению, а надо по ссылке. Кроме этого в цикле выход за пределы массива.
1
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
24.02.2012, 07:22 #3
vortexx1, передавайте значения в swap по ссылке
C++
1
void swap( int &, int & );
C++
1
2
3
4
5
6
void swap( int &a, int &b )
{
    int temp = a;
    a = b;
    b = temp; 
}
Добавлено через 55 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void bubbleSort( int array[], int arraySize )
{
    bool t = true;
    
    while( t == true )
    {
        t = false;
        
        for( int j = 0; j < arraySize - 1; j++ )
            if( array[ j ] > array[ j + 1 ] ) {
                swap( array[ j ], array[ j + 1 ] );
                t = true;
            }
    }
}
1
vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
24.02.2012, 09:17  [ТС] #4
Вот, точно. Спасибо, почему-то не подумал об этом.
0
24.02.2012, 09:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2012, 09:17
Привет! Вот еще темы с ответами:

Сортировка вектора по полю(Сортировка вставками) - C++
Здравствуйте! Нужно написать сортировку вектора по полю weight класса tomato. Вот класс: #pragma once #include &lt;iostream&gt; ...

C/C++ FAQ :: Быстрая сортировка (сортировка Хоара) - C++
Вопрос, скорее академический, по мотивам реализации. Вот в faq приведена реализация этого метода сортировки на C++. В коде есть следующий...

2 сортировки: пирамидальная сортировка и сортировка слиянием - C++
Реализовать два улучшенных алгоритма сортировки. Для каждого алгоритма вычислить показатель качества сортировки (количество операций, т.е....

Шейкерная сортировка + сортировка слиянием - C++
вот часть когда,которая выполняет шейкерную сортировку : для символьного и целочисленого массива . // ConsoleApplication15.cpp:...


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

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

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