Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Gare
- {
- class GenericStack<T>
- {
- protected T[] elements = new T[10];
- public GenericStack()
- {
- }
- public void push(T item)
- {
- int i = 0;
- while (elements[i] != null && i < elements.Length - 1) i++;
- elements[i] = item;
- }
- public T pop()
- {
- int i = 0;
- while (elements[i] != null && i < elements.Length - 1) i++;
- T temp = elements[i];
- T[] elementsTemp = new T[elements.Length];
- for (int k = 0; k < i; k++)
- elementsTemp[k] = elements[k];
- elements = elementsTemp;
- return temp;
- }
- public bool isEmpty()
- {
- return (elements[0] == null);
- }
- public bool isFull()
- {
- return (elements[elements.Length - 1] == null);
- }
- public void show()
- {
- int i = 0;
- while (elements[i] != null && i < elements.Length - 1)
- Console.Out.WriteLine(elements[i++]);
- }
- public IEnumerator<T> GetEnumerator()
- {
- int i = 0;
- while (elements[i] != null && i < elements.Length - 1)
- yield return elements[i++];
- }
- public IEnumerator<T> TopToBottom()
- {
- int i = 0;
- while (elements[i] != null && i < elements.Length - 1) i++;
- for (int j = i; j > 0; j--)
- yield return elements[j];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement