Write a program to sort a stack in ascending order. You should not make any assumptions about how the stack is implemented. The following are the only functions that should be used to write this program: push | pop | peek | isEmpty
public void sortStack(Stack<Node> stack) { List<Node> tempList = new ArrayList<Node>(); while(!stack.isEmpty()) { tempList.add(stack.pop()); } Comparatorcomparator = new Comparator ( { public int compare(Node nodeOne, Node nodeTwo) { if (nodeOne.getValue() == nodeTwo.getValue()) return 0; // Sort in Descending Order if (nodeOne.getValue() > nodeTwo.getValue()) { return -1; } else { return 1; } } }); Collections.sort(tempList, comparator); for (Node node : tempList) { stack.push(node); } }
No comments:
Post a Comment