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

сортировка не получается - C++

Восстановить пароль Регистрация
 
Mar-12
 Аватар для Mar-12
-21 / 5 / 1
Регистрация: 14.03.2013
Сообщений: 131
03.06.2013, 14:39     сортировка не получается #1
есть класс C_Array,объект которого динамический массив который всегда отсортированный(в каждом конструкторе вызываю функцию sort()),есть функция sort();
в классе есть перегрузка оператора [],теперь не могу сделать так чтобы после этого кода массив автоматически стал отсортированным, просто не хочу вызвать функцию sort() в main
C++
1
2
3
int a[3]={2,5,1};
C_Array arr(a,3);
arr[2]=20;//после этого кода
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
03.06.2013, 15:24     сортировка не получается #2
Mar-12, скинь код перегрузки и sort()
Mar-12
 Аватар для Mar-12
-21 / 5 / 1
Регистрация: 14.03.2013
Сообщений: 131
03.06.2013, 15:31  [ТС]     сортировка не получается #3
drdrink,
C++
1
2
3
4
int& C_Array:: operator [](const int index)
    {
        return this->m_pArr[index];
    }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void C_Array::Sort()
{
    int a=0;
    for (int i = 0; i < m_sz; i++)
    {
        for (int j = 0; j < m_sz; j++)
        {
            if(m_pArr[i]>m_pArr[j])
            {
                a=m_pArr[i];
                m_pArr[i]=m_pArr[j];
                m_pArr[j]=a;
            }
        }
    }
}
m_sz,m_pArr -это переменные класса
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11838 / 6817 / 771
Регистрация: 27.09.2012
Сообщений: 16,909
Записей в блоге: 2
Завершенные тесты: 1
03.06.2013, 15:34     сортировка не получается #4
Проверяйте подходит ли новое значение для заданной позиции. Если нет, то вставляйте его в нужную позицию, и двигайте соответствующие элементы влево/вправо.
Mar-12
 Аватар для Mar-12
-21 / 5 / 1
Регистрация: 14.03.2013
Сообщений: 131
03.06.2013, 15:41  [ТС]     сортировка не получается #5
Croessmah, а где проверять?в перегрузке оператора не получится
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11838 / 6817 / 771
Регистрация: 27.09.2012
Сообщений: 16,909
Записей в блоге: 2
Завершенные тесты: 1
03.06.2013, 15:48     сортировка не получается #6
Можете обернуть ссылку в свой класс

Добавлено через 1 минуту
Можете обернуть ссылку в свой класс
А вообще, если храниться последовательность в каком-то определенном виде, то не нужно давать прямого доступа к ее элементам, дабы клиент не порушил всё
Yandex
Объявления
03.06.2013, 15:48     сортировка не получается
Ответ Создать тему
Опции темы

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