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

Обойти стек, не удаляя вершин - C++

Восстановить пароль Регистрация
 
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
26.05.2013, 20:04     Обойти стек, не удаляя вершин #1
Ребят, помогите разобраться!

Можно ли обойти стек не удаляя вершин?
Вроде этого?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void printstack(stack<int>l)
{
    if(l.empty())
    {
        cout<<"Лист пуст"<<endl;
        return;
    }
 
    for(int i=0;i!=l.size();++i)
    {
        cout<<"Элемент: "<<l.top()<<endl;
        *(l.top())-=1; //не корректно изначально
    }
}
Или только так?:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void printstack(stack<int>l)
{
    stack<int> q;
    q=l;
    if(l.empty())
    {
        cout<<"Лист пуст"<<endl;
        return;
    }
 
    while(!(l.empty()))
    {
        cout<<"Элемент: "<<l.top()<<endl;
        l.pop();
    }
    l=q;
}
Если работать по 2 варианту, то нужно удалять весь первоначальный стек, чтобы не "болталась" лишняя память?
Или как-то можно реализовать данную функцию без использования дополнительного стека?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2013, 20:04     Обойти стек, не удаляя вершин
Посмотрите здесь:

C++ Число вершин, удаленных от пары вершин по кротчайшим маршрутам каждой из следующих длин: 1, 2, 3 и т.д., для каждой пары вершин.
C++ отредактировать предложение ,удаляя из него лишние пробелы...
Из двух стеков с упорядоченными по возрастанию элементами создать новый стек с упорядоченными элементами, не удаляя исходные стеки C++
C++ Из двух стеков с упорядоченными по возрастанию элементами создать новый стек с упорядоченными элементами, не удаляя исходные стеки
Отредактировать предложение, удаляя из него лишние пробелы C++
C++ Обмен информации правых вершин одного бинарного дерева на информацию левых вершин другого
C++ Считывание строки из потока, не удаляя символ-ограничитель
Как добавить в файл значение, не удаляя старое? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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