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

Объясните сортировку - C++

Восстановить пароль Регистрация
 
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
14.12.2011, 22:44     Объясните сортировку #1
вот приведен пример сортировки слиянием:
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
void BinMerge(int *mas, int n, const int k)
{
    const int SIZE=n/2;
    int j=0,h=0;
    int *m1= new int [SIZE];
    int *m2= new int [SIZE];
    for (int i=0;i<n;i++)
    {
        if (i%(2*k)<k)
            m1[j++]=mas[i];
        else
            m2[h++]=mas[i];
    }
    int index=0;
    for (int i=0;i<SIZE;i+=k)
    {
        j=i; h=i;
        while ((j<i+k) && (h<i+k))
            if (m1[j]<m2[h])
                mas[index++]=m1[j++];
            else
                mas[index++]=m2[h++];
        if (j==i+k)
            for (int he=h;he<i+k;he++)
                mas[index++]=m2[he];
        else
            for (int je=j;je<i+k;je++)
                mas[index++]=m1[je];
    }
    delete [] m1;
    delete [] m2;
}
Помогите пожалуйста разобрать именно этот пример, и если не трудно, то закомментите.

Добавлено через 1 час 24 минуты
C++
1
  if (i%(2*k)<k)
что это за условие?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2011, 22:44     Объясните сортировку
Посмотрите здесь:

C++ сортировку массива
C++ Выполнить сортировку
C++ задачка на сортировку
Про пузырьковую сортировку C++
Задача на сортировку строк C++
Задача на сортировку массивов C++
Задача на сортировку C++
Задача на сортировку C++
Указатели в массиве на сортировку C++
Сортировку вставками меняем на сортировку слиянием C++
C++ Задача на сортировку массива
Задача на функции и сортировку C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
n00b.vcxproj
Кодер
 Аватар для n00b.vcxproj
46 / 45 / 2
Регистрация: 10.10.2010
Сообщений: 229
14.12.2011, 23:03     Объясните сортировку #2
Цитата Сообщение от Алексей_123 Посмотреть сообщение
if (i%(2*k)<k)
Код
если(остаток от деления i на (2*k) меньше чем k)
{

}
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
15.12.2011, 22:14  [ТС]     Объясните сортировку #3
C++
1
2
3
m1[j++]=mas[i];
                else
                        m2[h++]=mas[i];
здесь мы меняем местами элементы?
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
18.12.2011, 13:08  [ТС]     Объясните сортировку #4
C++
1
int index=0;
и дял чего нам служит эта переменная?
Алексей_123
0 / 0 / 0
Регистрация: 22.09.2011
Сообщений: 51
19.12.2011, 15:33  [ТС]     Объясните сортировку #5
прошу помощи
Yandex
Объявления
19.12.2011, 15:33     Объясните сортировку
Ответ Создать тему
Опции темы

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