package com.interview.algorithms.stackqueue;
import com.interview.basics.model.collection.stack.LinkedStack;
import com.interview.basics.model.collection.stack.Stack;
import java.util.Comparator;
/**
* Created with IntelliJ IDEA.
* User: stefanie
* Date: 7/15/14
* Time: 1:49 PM
*/
public class C7_7_StackSorter<T extends Comparable> {
public void sort(Stack<T> stack){
Stack<T> ordered = new LinkedStack<>();
while(!stack.isEmpty()){
T tmp = stack.pop();
while(!ordered.isEmpty() && ordered.peek().compareTo(tmp) > 0)
stack.push(ordered.pop());
ordered.push(tmp);
}
while(!ordered.isEmpty()) stack.push(ordered.pop());
}
}