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

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

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

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

18.03.2014, 18:32. Просмотров 441. Ответов 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

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

Deque (Дек) на двусвязном списке - C++
Стояла задача реализовать дек с указателем только на начало очереди. Мой код вроде как рабочий, но хотелось бы поинтересоваться с более...

Определить в последовательности число соседств двух чисел с разным знаком (только с циклами, без массивов) - C++
Здраствуйте! Дано натуральное число n, действительные числа q1,q2,..,qn . В последовательности q1,q2,..,qn определить число соседств двух...

Построить строку в которую войдут только общие символы двух строк в алфавитном порядке и без повторений - C++
Даны две символьные строки, содержащие только строчные латинские буквы. Построить строку S3, в которую войдут только общие символы S1 и S2...

Есть ли в Qt контейнер типа "Дек" (deque) или надо свой написать? - C++ Qt
Пока не нашёл. Если нет, то от кого лучше унаследоваться, чтобы реализовать?

Как пропукать только объявления функций двух типов без аргументов из потока ввода? - Bash
Необходимо создать сценарий, который из всех принимаемых со стандартного потока строк с помощью регулярных выражений пропускает на...

Deque работает только в main() - Java SE
пишу одно и то же, результат разный. здесь всё работает: package Main; import java.util.*; public class Test { public...

1
zss
Модератор
Эксперт С++
6400 / 5966 / 1943
Регистрация: 18.12.2011
Сообщений: 15,357
Завершенные тесты: 1
18.03.2014, 19:20 #2
head++; надо заменить на head--;
C++
1
2
3
4
5
6
void Deque :: push_front( int data, int number ) {
      
     deque[head - 1] = data;
     head--;
 
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2014, 19:20
Привет! Вот еще темы с ответами:

как сравнить элементы двух массивов, но только так, чтобы первый сравнивался только с первым, второй только со вторым и т.д.? - Pascal
Подскажите пожалуйста, как сравнить элементы двух массивов, но только так, чтобы первый сравнивался только с первым, второй только со...

Как вывести только в поле GridView только дату (без времени)? - C# ASP.NET
Всем добрый день! У меня есть GridView: &lt;asp:GridView ID=&quot;gvTable&quot; runat=&quot;server&quot; HeaderStyle-Font-Bold=&quot;true&quot;...

Как из двух файлов открывать только выбранный и перемещённый или только оставшийся? - CMD/BAT
Как в коде bat файла написать, чтобы открывался файл 03.txt или 04.txt (в зависимости от того, который будет найден,т.к. заранее...

Создание динамичного сайта без PHP и баз данных использовав только JS - JavaScript
Я не знаю к какой категории отнести этот вопрос, но вот в чем он заключается. Нужно создать сайт на одном лишь JS, с возможностью...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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