public static void SortStack(LinkedListStack stack) { int temp; if (stack.Size() > 0) { temp = stack.Pop(); SortStack(stack); SortedInsert(stack, temp); } }
public int Remove() { if (stack1.Size() == 0 && stack2.Size() == 0) { throw new InvalidOperationException("Queue is empty"); } int value; if (stack2.Size() > 0) { return(stack2.Pop()); } while (stack1.Size() > 0) { value = stack1.Pop(); stack2.Push(value); } return(stack2.Pop()); }
public static void ReversStack(LinkedListStack stack) { if (stack.Size() == 0) { return; } else { var temp = stack.Pop(); ReversStack(stack); stack.InsertAtBottom(temp); } }
public static void SortedInsert(LinkedListStack stack, int value) { if (stack.Size() == 0 || value > stack.Peek()) { stack.Push(value); } else { var temp = stack.Pop(); SortedInsert(stack, value); stack.Push(temp); } }