public void Push(double item)// увеличиваем стек { NodeDMAdouble node = new NodeDMAdouble(item); node.Next = head; // переставляем верхушку стека на новый элемент head = node; count++; }
public double Pop() { // если стек пуст, выбрасываем исключение if (IsEmpty) { throw new InvalidOperationException("Stack is Empty"); } NodeDMAdouble temp = head; head = head.Next; // переставляем верхушку стека на следующий элемент count--; return(temp.Data); }
public void Add(double data) { NodeDMAdouble node = new NodeDMAdouble(data); if (head == null) { head = node; } else { tail.Next = node; } tail = node; Length++; }
public string DoubleStackToString() { int L = 0; string str = String.Empty; string[] st = new string[0]; NodeDMAdouble p = head; while (p != null) { Array.Resize <string>(ref st, ++L); st[L - 1] = p.Data.ToString(); p = p.Next; } foreach (string s in st) { str += s + " "; } return(str); }
public string DoubleListToString() // Вывод списка { string[] st = new string[0]; string str = String.Empty; int L = 0; NodeDMAdouble p = head; if (p != null) { do { Array.Resize <string>(ref st, ++L); st[L - 1] = p.Data.ToString(); p = p.Next; }while (p != null); } foreach (string s in st) { str += s + " "; } return(str); }
public void Clear() { count = 0; head = null; }