На этом шаге мы приведем пример использования стека.
Пример использования класса stack():
//--------------------------------------------------------------------------- #include <vcl.h> #include <iostream> #include <iterator> #include <stack> #include <algorithm> #include <conio.h> //необходимо для getch() #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused using namespace std; std::string ToRus(const std::string &in) { char *buff = new char [in.length()+1]; CharToOem(in.c_str(),buff); std::string out(buff); delete [] buff; return out; } int main() { stack<int> st; // Занесение трех элементов в стек st.push(1); st.push(2); st.push(3); // Извлечение и вывод двух элементов из стека cout << ToRus("Извлечение и вывод двух элементов из стека:\n"); cout << st.top() << ' '; st.pop(); cout << st.top() << ' '; st.pop(); cout << endl; // Модификация верхнего элемента st.top() = 77; // Занесение двух новых элементов st.push(4); st.push(5); // Извлечение одного элемента без обработки st.pop(); // Извлечение и вывод оставшихся элементов cout << ToRus("Результат модификации верхнего элемента,\n"); cout << ToRus("занесения элементов 4 и 5, а также \n"); cout << ToRus("извлечения одного элемента без обработки:\n"); while (!st.empty()) { cout << st.top() << ' '; st.pop(); } cout << endl; getch(); return 0; } //---------------------------------------------------------------------------
Результат выполнения программы:
Рис.1. Результат работы приложения
На следующем шаге мы рассмотрим строение класса stack.