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

Написать функцию сортировки пузырьком массива - C++

Восстановить пароль Регистрация
 
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 19:46     Написать функцию сортировки пузырьком массива #1
Нужно написать функцию сортировки (например пузырьком) массива, а затем отсортировать ей какую-ниюудь строку матрицы 5х5 (например вторую)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2010, 19:46     Написать функцию сортировки пузырьком массива
Посмотрите здесь:

Функция для сортировки массива пузырьком C++
не могу разобраться как написать функцию сортировки и исправить функцию добавления в стек C++
C++ вывод сортировки пузырьком
C++ Написать функцию сортировки элементов линейного массива
C++ Напишите функцию сортировки, похожую на функцию которая использовалась для сортировки массивов, с той разницей, что ее а
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
 Аватар для Mayonez
379 / 271 / 20
Регистрация: 26.12.2009
Сообщений: 875
29.10.2010, 20:40     Написать функцию сортировки пузырьком массива #2
вот сортировка пузырьком
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
#include <iostream>
using namespace std;
 
int main()
{
   int n=5;
   int a[n];
   for(int i=0; i<n; i++)
      cin>>a[i];
 
   for(int i=n-1; i>=1; i--)
      for(int j=0; j<i; j++)
      {
         if(a[j]>a[j+1])
         {
            int buf=a[j];
            a[j]=a[j+1];
            a[j+1]=buf;
         }
      }
        
   for(int i=0; i<n; i++)
      cout<<a[i]<<endl;
 
   return 0;
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 20:43  [ТС]     Написать функцию сортировки пузырьком массива #3
вы меня не совсем правильно поняли
нужно написать как функцию, а затем (в мэйне) осортировать этой функцией любую строчку в матрице
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
29.10.2010, 20:46     Написать функцию сортировки пузырьком массива #4
Алгоритмы сортировок
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 20:54  [ТС]     Написать функцию сортировки пузырьком массива #5
Цитата Сообщение от PointsEqual Посмотреть сообщение
хм...
сортировку написали(которую можно найти везде), а, как пример, написать то что прошу не можете?(чтобы я на примере разобрался)
хоть где именно скажи(я там ничего не нашел, но смотрел по диагонали)?!
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
29.10.2010, 21:18     Написать функцию сортировки пузырьком массива #6
http://www.sorting-algorithms.com/heap-sort

вот это поможет тут все что надо
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
29.10.2010, 21:40  [ТС]     Написать функцию сортировки пузырьком массива #7
Цитата Сообщение от Sudoki Посмотреть сообщение
http://www.sorting-algorithms.com/heap-sort

вот это поможет тут все что надо
ну составте пример функции и ее использование
Пожалуйста
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2010, 23:27     Написать функцию сортировки пузырьком массива
Еще ссылки по теме:

C++ Написать функцию sort() для сортировки массива структур
C++ Написать программу для сортировки массива способами шелла вставки слияния и пузырьком
Оптимизация сортировки пузырьком C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
29.10.2010, 23:27     Написать функцию сортировки пузырьком массива #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от go Посмотреть сообщение
ну составте пример функции и ее использование
да не вопрос! только пузырьки - это не серьёзно...
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>
 
void int_swap(int * a, int * b){
    int tmp = *a;
    *a = *b;
    *b = tmp;
}
 
int int_cmp_asc(int * a, int * b){
    return *a - *b;
}
 
int int_cmp_desc(int * a, int * b){
    return *b - *a;
}
 
void int_sort(int * arr, int size, int (* cmp)(int * a, int * b)){
    int * middle = arr + size / 2;
    int * head = arr;
    int * tail = arr + size - 1;
    
    if ( size < 2 )
        return;
    else if ( size == 2 ){
        if ( cmp(arr, arr + 1) > 0 )
            int_swap(arr, arr + 1);
        return;
    }
    else {
        while ( 1 ){
            while ( head < middle ){
                if ( cmp(head, middle) > 0 )
                    break;
                ++head;
            }
            while ( tail > middle ){
                if ( cmp(tail, middle) < 0 )
                    break;
                --tail;
            }
            if ( head >= tail )
                break;
            int_swap(head, tail);
            if ( middle == head )
                middle = tail;
            else if ( middle == tail )
                middle = head;
        }
        int_sort(arr, middle - arr, cmp);
        int_sort(middle + 1, size - (middle - arr) - 1, cmp);
    }
}
 
#define ROWS 2
#define COLUMNS 5
 
int main(void){
    int arr[ROWS][COLUMNS] = {
        { 4, 5, 2, 6, 1 },
        { 3, 8, 0, 9, 7 }
    };
    int i, j;
    
    printf("Unsorted:\n");
    for ( i = 0; i < ROWS; ++i )
        for ( j = 0; j < COLUMNS; ++j )
            printf("%d%c", arr[i][j], ( j < COLUMNS - 1 ) ? ' ' : '\n');
    
    int_sort(arr[0], COLUMNS, int_cmp_asc);
    int_sort(arr[1], COLUMNS, int_cmp_desc);
    
    printf("First ascendant, second descendant:\n");
    for ( i = 0; i < ROWS; ++i )
        for ( j = 0; j < COLUMNS; ++j )
            printf("%d%c", arr[i][j], ( j < COLUMNS - 1 ) ? ' ' : '\n');
    
    return 0;
}
Yandex
Объявления
29.10.2010, 23:27     Написать функцию сортировки пузырьком массива
Ответ Создать тему
Опции темы

Текущее время: 18:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru