Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Gare
  7. {
  8. class GenericStack<T>
  9. {
  10. protected T[] elements = new T[10];
  11.  
  12. public GenericStack()
  13. {
  14. }
  15.  
  16. public void push(T item)
  17. {
  18. int i = 0;
  19. while (elements[i] != null && i < elements.Length - 1) i++;
  20. elements[i] = item;
  21. }
  22.  
  23. public T pop()
  24. {
  25. int i = 0;
  26. while (elements[i] != null && i < elements.Length - 1) i++;
  27.  
  28. T temp = elements[i];
  29. T[] elementsTemp = new T[elements.Length];
  30. for (int k = 0; k < i; k++)
  31. elementsTemp[k] = elements[k];
  32.  
  33. elements = elementsTemp;
  34. return temp;
  35. }
  36.  
  37. public bool isEmpty()
  38. {
  39. return (elements[0] == null);
  40. }
  41.  
  42. public bool isFull()
  43. {
  44. return (elements[elements.Length - 1] == null);
  45. }
  46.  
  47. public void show()
  48. {
  49. int i = 0;
  50. while (elements[i] != null && i < elements.Length - 1)
  51. Console.Out.WriteLine(elements[i++]);
  52. }
  53.  
  54. public IEnumerator<T> GetEnumerator()
  55. {
  56. int i = 0;
  57. while (elements[i] != null && i < elements.Length - 1)
  58. yield return elements[i++];
  59. }
  60.  
  61. public IEnumerator<T> TopToBottom()
  62. {
  63. int i = 0;
  64. while (elements[i] != null && i < elements.Length - 1) i++;
  65. for (int j = i; j > 0; j--)
  66. yield return elements[j];
  67. }
  68.  
  69. }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement