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

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

Войти
Регистрация
Восстановить пароль
 
_Ант_
-13 / 1 / 0
Регистрация: 18.10.2012
Сообщений: 30
#1

Реализую класс очередь с использованием двух стеков.ошибка итератор dequee is not dereferanceble - C++

03.03.2013, 03:16. Просмотров 524. Ответов 1
Метки нет (Все метки)

Реализую класс очередь с использованием двух стеков.
Вот, все получается, только pop плохо работает..
ошибка итератор dequee is not dereferanceble...
что это значит? как исправить?

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
# include <iostream>
# include <stack>
using namespace std;
template<class T>
class que {
private:
    stack<T> *oldest;
    stack<T> *newest;
    void printdemo(bool ind){
        stack<T> *s = oldest;
        if (ind == 0) s = newest;
        else s = newest;
        while (!s->empty()){
            cout<<s->top()<<" ";
            s->pop();
        }
    }
public:
    que(){ oldest = new stack<T>; newest = new stack<T>;}
 
    void push(T _val){
        newest->push(_val);
    }
    void print (){
        if (oldest->empty()){ printdemo(0);return;}
        printdemo(0);
        printdemo(1);
        
    }
    void pop(){
        T temp;
        if (oldest->empty()){
        while (!newest->empty()){
            temp = newest->top();
            newest->pop();
            oldest->push(temp);
        }
        }
        cout<<oldest->top();
        oldest->pop();
 
    }
};
 
int main(){
    setlocale( LC_ALL,"Russian" );
 
    que<int> l;
    l.push(1);l.push(2);l.push(3);
    l.print();
    l.pop();
    l.print();
 
 
    system("PAUSE");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.03.2013, 03:16
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализую класс очередь с использованием двух стеков.ошибка итератор dequee is not dereferanceble (C++):

Класс: как обратиться к методу производного класса через итератор на базовый класс? - C++
Есть абстрактный и два порожденных. Хочу создать например list&lt;Base*&gt; list1; затем добавляю себе в список: ...

Реализовать очередь с использованием двух стеков - C#
Задали нам такое задание, перерыл весь интернет, но так и не понял, что от нас требуется :wall: Хотелось бы увидеть хотя бы примерный...

Динамические структуры данных. Сформировать очередь, считывая данные из стеков поочередно - Turbo Pascal
Написать программу, формирующую очередь N, считывая данные из стеков S1 и S2 поочередно. Добавлено через 1 минуту ребята помогите,...

Разработайте класс стеков - C++
Разработайте класс стеков для хранения символов с реализацией в виде массива. Создать стек и заполнить его произвольными символами ...

Слияние двух стеков - Delphi
Добрый день. В задаче нужно слить два отсортированных стека, так чтобы получился новый третий отсортированный стек. Не особо разобрался в...

Слияние двух стеков - Delphi
Создать программу, которая сбивает два стека, содержащих возрастную последовательность целых положительных чисел, в третий стек так, чтобы...

1
alsav22
5437 / 4832 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.03.2013, 07:55 #2
При запуске эту ошибку выдаёт. Скорее всего, из-за того, что после printdemo() оба стека пусты. Потом, в pop() попытки операций с путым стеком(cout<<oldest->top(); oldest->pop().
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2013, 07:55
Привет! Вот еще темы с ответами:

Из двух стеков в один - C++
Привет всем!) У меня есть вто такое задание : Using C++ functions written during the class, write C++ program that creates stacks A, B,...

Сравнение двух стеков (Equal) - Delphi
Нужно осуществить проверку равенства (Equal) двух стеков. Осуществил проверку подобия (Similar),а сравнение не выходит что-то...Заранее...

Слияние двух стеков в третий - Visual C++
Нужен код вот этой программы : Разработать программу слияния двух стеков, содержащих возрастающую последовательность целых положительных...

Создать стек из двух других стеков - C#
Из двух стеков, хранящих слова, создать новый стек со словами длины K (задается пользователем), не удаляя исходные стеки. Из элементов двух...


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

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

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