Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string>
- #include <stdexcept>
- #include <algorithm>
- #include <functional>
- using namespace std;
- template <class T>
- class Stack
- {
- private:
- vector<T> elems;
- public:
- void push(T const&);
- void pop();
- T top() const;
- bool empty() const
- {
- return elems.empty();
- };
- void foo();
- };
- template <class T>
- void Stack<T>::push(T const& elem)
- {
- elems.push_back(elem);
- }
- template <class T>
- void Stack<T>::pop()
- {
- elems.pop_back();
- }
- template <class T>
- T Stack<T>::top() const
- {
- return elems.back();
- }
- template <class T>
- void Stack<T>::foo()
- {
- cout << "Обработка массива...\n";
- sort(elems.begin(), elems.end(), greater<int>());
- cout << "Обработка завершена...\n";
- for (auto i = 0; i < elems.size(); ++i)
- {
- cout << elems[i] << " ";
- };
- cout << "\n";
- }
- int main()
- {
- setlocale(LC_ALL, "RUS");
- Stack<int> intStack;
- int cache(0);
- char cache_char;
- while (cin >> cache)
- {
- intStack.push(cache);
- cin >> cache_char;
- }
- intStack.foo();
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement