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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Crachc
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 15
#1

Bubble sort - C++

12.03.2013, 15:22. Просмотров 1731. Ответов 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 выдает ошибку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 15:22     Bubble sort
Посмотрите здесь:

bubble sort - по возрaстанию - C++
как изменить функцию , чтобы она сортировала по возрастанию? в этом коде - по убыванию ( void Bubble_sort(float mas,float mas1,int n,...

Сортировка Bubble - C++
помогите плиз почему в функций SortBuble цикл заканчивается с 2 потом с 1(Сортировка Массивов Пузырьком); void Print(const int...

Метод сортировки Bubble с контролем упорядоченности - C++
задали написать программу с формами которая будет сортировать пузырьковым (bubble) методом и в конце приписка, нужно использовать контроль...

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

sort() - C++
пожалуйста напишите несколько примеров,с перегруженными версиями sort? vector&lt;int&gt; vec; vec.push_back(100); vec.push_back(10); ...

list sort() - C++
Подскажите пожалуйста. Есть упрощенный класс class NOTE { public: char name; char surname; char phoneNumber; ...

q-sort сортировка - C++
Здраствуйте , не могу понять где в коде ошибка . Выдает такое :d:\program...

Quick sort c++ - C++
Добрый день. Есть вопрос, как можно реализовать Quick sort с подсчётом перестановок. По условию задания у нас есть 10000 элементов. ...

sort и stable_sort - C++
читаю: stable_sort sorts the elements in the range [first,last) into ascending order, like sort, but stable_sort preserves the relative...

Merge sort - C++
Здравствуйте, пытаюсь написать сортировку по методу слияния (merge). не получается, подскажите пожалуйста в чем ошибка? void...

Функция sort() - C++
Непонятно как работает функция из STL sort(). В нее третьим аргументом можно передавать некую функцию, предикату, которая возвращает...

std::sort - C++
Достоинства и недостатки делаю таблицу, достоинств и недостатков std::Sort. собственно, не нащёл нечего про это в википедии


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
12.03.2013, 15:29     Bubble sort #2
либо так
C++
1
int sort(int A[], int col)
либо так
C++
1
int sort(int *A, int col)
Crachc
0 / 0 / 0
Регистрация: 03.02.2013
Сообщений: 15
12.03.2013, 15:37  [ТС]     Bubble sort #3
Обращаться к функции каким способом?
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
12.03.2013, 15:53     Bubble sort #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;
}
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.03.2013, 16:59     Bubble sort #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; 
                }   
            }   
        }   
}
Yandex
Объявления
12.03.2013, 16:59     Bubble sort
Ответ Создать тему
Опции темы

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