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

Как работать с STL stack - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Список http://www.cyberforum.ru/cpp-beginners/thread253335.html
Подскажите пожалуйста, как сделать связанный список? Чтобы новый элемент добавлялся в очередь по принципу LIFO. Или хотябы натолкните на мысль. Вот есть по принципу FIFO: // список #include <iostream> using namespace std; /////////////////////////////////////////////////////////// struct link // один элемент списка { int data; // некоторые данные link* next; // указатель на...
C++ Builder Проверить существование ключа в реестре (BCB6) Здраствуйте! как сделать чтобы пользователь вводил путь к разделу реестра и имя параметра. Если параметр существует, вывести его значение. Если не существует, создать его, запросив у пользователя тип и значение. Большое спасибо! http://www.cyberforum.ru/cpp-beginners/thread253326.html
Какую графическую библиотеку выбрать? C++
Господа ветераны, поделитесь опытом какую графическую библиотеку лучше выбрать для программирования 2D игр (OpenGL, DirectX, другое...)? А главное какой программой вы пользуетесь для создания объектов, анимации и прочее?
Работа со строками C++
ммм, в общем задание такое: Функция int isAlfa (char s) получает символ и определяет, является ли он символом латиницы или кириллицы(строчным или прописным) Функция char* strAlfa(char* str, int& lenAlfa) получает строку str и ищет первую буквенную подстроку. Функция возвращает адрес найденной подстроки и ее длину или NULL, если в строке нет буквенной подстроки символов. Функция void...
C++ Код Грея http://www.cyberforum.ru/cpp-beginners/thread253313.html
Помогите написать программу Написать программу преобразования прямого двоичного числа в код Грея и программу обратного преобразования (предварительно написав функцию представления десятичного числа в двоичной системе счисления)
C++ Ошибка С2446 Помогите решить проблему над ошибкой С2446.Код: //нажатие клавиши в поле Сумма private: System::Void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) { if ((e->KeyChar >= "0") && (e->KeyChar <= "9")) //цифра return; Пишется: Ошибка 1 error C2446: >=: нет преобразования "const char *" в "int" Что нужно... подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
07.03.2011, 20:19     Как работать с STL stack
Вот, где-то завалялся такой примерчик
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
#include <stack>
#include <vector>
#include <iostream>
 
// Для простоты примера стек содержит целочисленные переменные
// А в качестве промежуточного буфера используется не файл, а vector
 
int main()
{
        std::stack<int> s;
 
        // Заполнение стека числами от 0 до 9
        for(int i = 0; i < 10; ++i)
                s.push(i);
 
        // Допустим в стеке должны остаться все числа, кроме 5
        // Соответственно необходимо удалить элемент со значением 5
        std::vector<int> v;
        while(!s.empty())
        {
                if(s.top() != 5)                // Это ключевой момент, в стек помещаются
                        v.push_back(s.top());   // все элементы не равные 5
 
                s.pop();
        }
 
        // Теперь стек пустой, а вектор содержит все значения стека, кроме 5.
        // При этом первый элемент вектора содержит число 9.
        // Чтобы сохранить исходную последовательность в стеке
        // необходимо помещать элементы в стек, начиная с конца вектора.
        for(int i = v.size() - 1; i >= 0; --i)
                s.push(v[i]);
 
        // Для проверки выведем стек на экран
        while(!s.empty()) {
                std::cout << s.top() << ' ';
                s.pop();
        }
 
        return 0;
}
 
Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru