Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
_Ант_
-13 / 1 / 0
Регистрация: 18.10.2012
Сообщений: 30
#1

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

03.03.2013, 03:16. Просмотров 530. Ответов 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
Ответы с готовыми решениями:

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

Реализовать очередь с использованием двух стеков
Задали нам такое задание, перерыл весь интернет, но так и не понял, что от нас...

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

Разработайте класс стеков
Разработайте класс стеков для хранения символов с реализацией в виде массива....

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

1
alsav22
5441 / 4836 / 831
Регистрация: 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

Из двух стеков в один
Привет всем!) У меня есть вто такое задание : Using C++ functions written...

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

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


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

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

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