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

Сортировка - C++

Восстановить пароль Регистрация
 
airesjke
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 20
12.09.2012, 08:29     Сортировка #1
A. Дан одномерный массив из n (n≤104) элементов a1,a2,…,an.( |ai|≤2×109). Сортировать по возрастанию методом обмена (пузырька).
B. Дан одномерный массив из n (n≤106) элементов a1,a2,…,an.(|ai|≤2×109). Сортировать по возрастанию методом быстрой сортировки из библиотеки <stdlib.h>.

Алгоритм сортировки оформить в виде ФУНКЦИИ!

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 i, j, N,A[N], c;
//здесь надо ввести N и массив A:
cin>>N;
 
//для проверки быстродействия используем инициализацию:
// for ( i = 0; i < N; i ++ ) A[i]=N-i;
 
 //для отправки на проверку:
//  freopen("input.txt","r",stdin);  freopen("output.txt","w",stdout);
// for ( i = 0; i < N; i ++ ) cin>>A[i];
 
 
for ( i = 0; i < N-1; i ++ ) // достаточно поставить N-1 элементов
for ( j = N-2; j >= i; j -- ) // идем с конца массива в начало
if ( A[j] > A[j+1] ) // если они стоят неправильно, ...
{
    c = A[j]; A[j] = A[j+1]; // переставить A[j] и A[j+1]
   A[j+1] = c;
} 
for ( i = 0; i < N; i ++ ) cout<<A[i]<<” “;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2012, 08:29     Сортировка
Посмотрите здесь:

C++ сортировка
C++ Сортировка.
C++ Сортировка подсчетом и LSD сортировка
C++ сортировка
шейкерная сортировка + сортировка слиянием C++
Пирамидальная сортировка и сортировка Шелла C++
Сортировка C++ C++
Сортировка методом "быстрая сортировка" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 5
13.09.2012, 07:12     Сортировка #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
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
#include <iostream>
using namespace std;
 
void NewArray(int *Array, int SIZE)
{
   Array = new int[SIZE];
   int *poi;
   poi = Array;
   for(int i = 0; i < SIZE; i++)
   {
        cout << "A[" << i << "] = ";
        cin >> *poi;
        cout << endl;
        poi++;
   }
}
 
void DeleteArray(int *Array)
{
   delete []Array;
}
 
void Output(int *Array, int SIZE)
{
   for(int i = 0; i < SIZE; i++)
   {
        cout << "A[" << i << "] = " << *Array << " ";
        Array++;
   }
   cout << endl; 
}
 
void Sortirovka(int *Array, int SIZE)
{
   int *poi1, *poi2;
   int c;
   for(int i = 0; i < SIZE - 1; i++)
   {
        poi1 = Array;
        poi2 = ++poi1
        for(int j = 0; j < SIZE - 1; j++)
        {
             if(*poi1 > *poi2)
             {
                c = *poi; *poi1 = *poi2; *poi2 = c;
             }
             poi1++;
             poi2++;
        }
   }
}
 
int main()
{
   setlocale(LC_ALL, "Russian");
   int *Array, SIZE;
   cout << "Введите размер массива:";
   cin >> SIZE;
   cout << "Введите элементы массива:" << endl;
   NewArray(Array, SIZE);
   cout << "Ваш массив:";
   Output(Array, SIZE);
   Sortirovka(Array, SIZE);
   cout << "Массив после сортировки:";
   Output(Array, SIZE);
   system("pause");
   return 0;
}
dortonyan
57 / 1 / 1
Регистрация: 17.08.2012
Сообщений: 31
20.09.2012, 19:05     Сортировка #3
Ребят, подскажите плиз: где почитать по методам внешней сортировки структур в файле, а точнее по работе с файлами?
Т.е. интересует не сам алгоритм сортировки, а алгоритм форматирования, чтения-записи (перестановки) структур в файле при сортировке (желательно че-нить попримитивнее, без крутых библиотечных ф-ий).
Yandex
Объявления
20.09.2012, 19:05     Сортировка
Ответ Создать тему
Опции темы

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