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

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

Войти
Регистрация
Восстановить пароль
 
Weratius
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 28
#1

Создание ДЕК (как стэк только о двух концах) без <deque> - C++

18.03.2014, 18:32. Просмотров 407. Ответов 1
Метки нет (Все метки)

здравствуйте!

написал класс Deque, создал методы push_back(), push_front(), pop_back(), pop_front()... Все работает нормально, кроме push_front()...
реализую так

C++
1
2
3
4
5
6
void Deque :: push_front( int data, int number ) {
      
     deque[head - 1] = data;
     head++;
 
}
Конструктор:

C++
1
2
3
4
5
Deque :: Deque( int number ) : head (1), tail (1), go_straight (0), go_back (1), deque (new int [number]) {
    for( int i = 0; i < number; ++i) {
        deque[i] = 0;
    }
};
Если ввести 5(количество записей) и 19(само значение), то получится

19 0 0 0 0

если ввести 15

19 15 0 0 0

и так далее...а мне нужно добиться такого:

15 19 0 0 0

то есть, чтобы числа вставлялись слева, а другие передвигались на +1

Буду очень благодарен за помощь! Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 18:32     Создание ДЕК (как стэк только о двух концах) без <deque>
Посмотрите здесь:

C++ deque<float>
Вывести на экран только те, у которых сумма первых двух цифер равна сумме двух последних. C++
Как в памяти представляется двусторонняя очередь (deque)? C++
Как создать класс, где возможно создание только одного объекта? C++
Определить в последовательности число соседств двух чисел с разным знаком (только с циклами, без массивов) C++
Контейнер deque C++
Как работает std::deque? C++
C++ STL deque
C++ Как можно объединить в одну структуру стек (очередь) и дек, при этом не создавая 2 структуры?
C++ Как реализован deque в STL ?
C++ Построить строку в которую войдут только общие символы двух строк в алфавитном порядке и без повторений
C++ Как инициализировать объект типа std::deque<int>?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,992
Завершенные тесты: 1
18.03.2014, 19:20     Создание ДЕК (как стэк только о двух концах) без <deque> #2
head++; надо заменить на head--;
C++
1
2
3
4
5
6
void Deque :: push_front( int data, int number ) {
      
     deque[head - 1] = data;
     head--;
 
}
Yandex
Объявления
18.03.2014, 19:20     Создание ДЕК (как стэк только о двух концах) без <deque>
Ответ Создать тему
Опции темы

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