Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
Crachc
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 18
1

Bubble sort

12.03.2013, 15:22. Просмотров 2993. Ответов 4
Метки нет (Все метки)

Учу сортировки массивов, но не знаю, как обращаться к ним через процедуру!
Процедура:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int sort(int *A[], int col){
    int temp;
    for( int i = 0; i < col; i++)
        for( int j = 0; i < col; j++){
            if(A[j] > A[j + 1]){
                temp = A [j];
                A[j] = A[j + 1];
                A[j + 1] = A [j];
            }
        }
    return 0;
}
Понимаю, что лучше и правильнее обращаться через указатель, но Visual Studio 2010 выдает ошибку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 15:22
Ответы с готовыми решениями:

bubble sort - по возрaстанию
как изменить функцию , чтобы она сортировала по возрастанию? в этом коде - по...

Sort(), третий параметр: как sort() выбирает аргументы из переданной последовательности для переданной функции?
Вот sotr() 2 параметра - итераторы, а третий функцию. Допустим, моя функция...

Сортировка Bubble
помогите плиз почему в функций SortBuble цикл заканчивается с 2 потом с...

Метод сортировки Bubble с контролем упорядоченности
задали написать программу с формами которая будет сортировать пузырьковым...

sort()
пожалуйста напишите несколько примеров,с перегруженными версиями sort?...

4
SummerRain
327 / 326 / 92
Регистрация: 16.12.2012
Сообщений: 544
12.03.2013, 15:29 2
либо так
C++
1
int sort(int A[], int col)
либо так
C++
1
int sort(int *A, int col)
1
Crachc
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 18
12.03.2013, 15:37  [ТС] 3
Обращаться к функции каким способом?
0
SummerRain
327 / 326 / 92
Регистрация: 16.12.2012
Сообщений: 544
12.03.2013, 15:53 4
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
#include <iostream>
#include <cstdlib>
 
int sort(int A[], int col){
    int temp;
    for( int i = 0; i < col; i++)
        for( int j = 0; j < col - 1; j++){ // исправьте
            if(A[j] > A[j + 1]){
                temp = A [j];
                A[j] = A[j + 1]; 
                A[j + 1] = temp; // исправьте
            }
        }
    return 0; // можно сделать тип функции void
}
 
void initMas(int A[], int col) {
    for( int i = 0; i < col; i++)
        A[i] = rand() % 50;
}
 
void showMas(int A[], int col) {
    for( int i = 0; i < col; i++)
        std::cout << A[i] << " ";
    std::cout << std::endl;
}
 
int main()
{
    const size_t size = 10;
    int mas[size];
    initMas(mas, size);
    showMas(mas, size);
    sort(mas, size);      // ваша функция
    showMas(mas, size);
    system("PAUSE>0");
    return 0;
}
0
xtorne21st
интересующийся
304 / 275 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
12.03.2013, 16:59 5
А вот бабл для любого типа данный (вызывается аналогично qsort из стандартной библиотеки)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
typedef int (*PTF)(const void *, const void *); 
 
void bubble(void* base, size_t n, size_t size, PTF cmp) 
{ 
    for (size_t i = 1; i < n; ++i) 
        for (size_t j = n-1; j>=i; --j) 
        {   
            char* b = static_cast<char*>(base); 
            char* lb = b + ((j-1) * size); 
            char* rb = b + (j * size); 
            if (cmp(lb, rb) > 0) 
            {   
                for (size_t i = 0; i < size; ++i) 
                {   
                    char temp = lb[i]; 
                    lb[i] = rb[i]; 
                    rb[i] = temp; 
                }   
            }   
        }   
}
0
12.03.2013, 16:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2013, 16:59

Sort()
Страуструп в своей книге вызывает эту функцию без всяких дополнительных...

Алгоритм sort
Товарищи, подскажите, в чем косяк? std::vector&lt;gc_node *&gt; nodes; ... void...

Merge Sort
написал реализацию Merge Sort но что то не так получилось))) помогите найти...


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

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

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