Guest User

Untitled

a guest
Dec 7th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #pragma once
  2. #include <iostream>
  3. #include <list>
  4. using namespace std;
  5. template <typename T>
  6. class MyStack
  7. {
  8. public:
  9. MyStack(initializer_list<T> l) : m_data(l) {}
  10. //void push(T &&x) { m_data.push_back(x); }
  11. void push(const T &x) { m_data.push_back(x); }
  12. void pop() { m_data.pop_back(); }
  13. T& top() { return m_data.back(); }
  14. const T& top() const { return m_data.back(); }
  15. bool empty() const { return m_data.empty(); }
  16. size_t size() const { return m_data.size(); }
  17. void print() {
  18. if (!m_data.empty()) {
  19. while (!m_data.empty())
  20. {
  21. cout << top() << " ";
  22. pop();
  23. }
  24. }
  25. else
  26. {
  27. cout << "stack empty" << endl;
  28. }
  29. }
  30.  
  31. protected:
  32. list<T> m_data;
  33. };
  34.  
  35. template <typename T>
  36. class MyList
  37. {
  38. public:
  39. MyList(initializer_list<T> l) : m_data(l) {}
  40. void push_bac(const T &x) { m_data.push_back(x); }
  41. void push_fro(const T &x) { m_data.push_front(x); }
  42. // find
  43. void insert(const T &x) { m_data.insert(x); }
  44. void clar() { m_data.clear(); }
  45. void erase_() { m_data.erase(); }
  46. void pop_bac() { m_data.pop_back(); }
  47. void pop_fro() { m_data.pop_front(); }
  48. void pop() { m_data.pop_back(); }
  49. T& top() { return m_data.back(); }
  50. T& fro() { return m_data.front; }
  51. const T& top() const { return m_data.back(); }
  52. bool empty() const { return m_data.empty(); }
  53. size_t size() const { return m_data.size(); }
  54. void print() {
  55. if (!m_data.empty()) {
  56. m_data.reverse();
  57. while (!m_data.empty())
  58. {
  59. cout << top() << ", ";
  60. pop();
  61. }
  62. }
  63. else
  64. {
  65. cout << "stack empty" << endl;
  66. }
  67. }
  68. protected:
  69. list<T> m_data;
  70. };
Add Comment
Please, Sign In to add comment